Highlighted

TOUCH_END events not being dispatched anymore in this case

New Here ,
Feb 18, 2016

Copy link to clipboard

Copied

Background:

Recently, we have published an iOS game made by AIR, some players report to us their virtual joystick some times is in a mess.

So i deep into the touch events, found that some times the TouchEvent.TOUCH_END dies(TOUCH_TAP dies either)!

After days research, i found this is a Bug for AIR internally.  I'v wrote a sample code to reproduce the issue:

(AIR SDK 20.0, iOS 8.4, iPhone 6 Plus, iPhone6 tested)

package{

  

    import flash.display.Sprite;

    import flash.display.StageAlign;

    import flash.display.StageQuality;

    import flash.display.StageScaleMode;

    import flash.events.Event;

    import flash.events.TouchEvent;

    import flash.text.TextField;

    import flash.text.TextFormat;

    import flash.ui.Multitouch;

    import flash.ui.MultitouchInputMode;

  

    [SWF(backgroundColor="#003300")]

    public class TouchEndFiring extends Sprite{

      

        private var debugText:TextField;

      

        public function TouchEndFiring(){

            super();

            stage.quality = StageQuality.HIGH;

            stage.scaleMode = StageScaleMode.NO_SCALE;

            stage.align = StageAlign.TOP_LEFT;

            stage.frameRate = 30;

            Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

            stage.addEventListener(Event.RESIZE, __resized);

            stage.addEventListener(TouchEvent.TOUCH_BEGIN, __touchBegin);

            stage.addEventListener(TouchEvent.TOUCH_MOVE, __touchMove);

            stage.addEventListener(TouchEvent.TOUCH_END, __touchEnd);

            stage.addEventListener(TouchEvent.TOUCH_TAP, __touchTap);

          

          

            debugText = new TextField();

            debugText.defaultTextFormat = new TextFormat(null, null, 0xFFFFFF);

            debugText.mouseEnabled = false;

            debugText.selectable = false;

            debugText.mouseWheelEnabled = false;

            debugText.width = stage.stageWidth;

            debugText.height = stage.stageHeight;

            debugText.text = "Madly continue press/swap both left and right down corner will make touch end event not firing anymore";

            addChild(debugText);

        }

      

        private function __touchBegin(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchMove(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchEnd(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchTap(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __resized(e:Event):void{

            debugText.width = stage.stageWidth;

            debugText.height = stage.stageHeight;

        }

      

        private function print(msg:String):void{

            debugText.appendText(msg+"\n");

            debugText.scrollV = debugText.maxScrollV;

            if(debugText.length > 2000){

                debugText.text = "";

            }

        }

    }

}

with application sets:

  <aspectRatio>landscape</aspectRatio>

  <renderMode>direct</renderMode>

  <autoOrients>true</autoOrients>

  <fullScreen>true</fullScreen>

  <visible>true</visible>

and

    <iPhone>

        <InfoAdditions><![CDATA[

         <key>UIDeviceFamily</key>

         <array>

              <string>1</string>

              <string>2</string>

         </array>

         <key>UIPrerenderedIcon</key>

            <true/>

        ]]></InfoAdditions>

        <requestedDisplayResolution>high</requestedDisplayResolution>

    </iPhone>

For the beginning, the events are fired correctly, but if you touch/swap rapidly both on left and right down corner(some times press inside screen and drag outside) just like you are playing a landscape orients ACT game, soon later, you can find the BEGIN and MOVE  events fires but with no END either TAP events, after that, the TOUCH_END event will no longer fires anymore --  except only this way :

1. First touch one finger on the screen and do not release -- keep pressing

2. Touch another finger and then release, this finger will have TOUCH_END event fired, but the first finger will not when you release it.

From now on, if you just make one touch a time, you will just get TOUCH_BEGIN/TOUCH_MOVE, no more TOUCH_END neither TOUCH_TAP. This make the application interaction broken!

Attention: I can not say a specified operation to reproduce the bug, but i always make it out with rapid click and drag on lower-left and lower_right corner for a moment with two fingers at the same time.

control.png

TOPICS
Performance issues

Views

1.0K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

TOUCH_END events not being dispatched anymore in this case

New Here ,
Feb 18, 2016

Copy link to clipboard

Copied

Background:

Recently, we have published an iOS game made by AIR, some players report to us their virtual joystick some times is in a mess.

So i deep into the touch events, found that some times the TouchEvent.TOUCH_END dies(TOUCH_TAP dies either)!

After days research, i found this is a Bug for AIR internally.  I'v wrote a sample code to reproduce the issue:

(AIR SDK 20.0, iOS 8.4, iPhone 6 Plus, iPhone6 tested)

package{

  

    import flash.display.Sprite;

    import flash.display.StageAlign;

    import flash.display.StageQuality;

    import flash.display.StageScaleMode;

    import flash.events.Event;

    import flash.events.TouchEvent;

    import flash.text.TextField;

    import flash.text.TextFormat;

    import flash.ui.Multitouch;

    import flash.ui.MultitouchInputMode;

  

    [SWF(backgroundColor="#003300")]

    public class TouchEndFiring extends Sprite{

      

        private var debugText:TextField;

      

        public function TouchEndFiring(){

            super();

            stage.quality = StageQuality.HIGH;

            stage.scaleMode = StageScaleMode.NO_SCALE;

            stage.align = StageAlign.TOP_LEFT;

            stage.frameRate = 30;

            Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

            stage.addEventListener(Event.RESIZE, __resized);

            stage.addEventListener(TouchEvent.TOUCH_BEGIN, __touchBegin);

            stage.addEventListener(TouchEvent.TOUCH_MOVE, __touchMove);

            stage.addEventListener(TouchEvent.TOUCH_END, __touchEnd);

            stage.addEventListener(TouchEvent.TOUCH_TAP, __touchTap);

          

          

            debugText = new TextField();

            debugText.defaultTextFormat = new TextFormat(null, null, 0xFFFFFF);

            debugText.mouseEnabled = false;

            debugText.selectable = false;

            debugText.mouseWheelEnabled = false;

            debugText.width = stage.stageWidth;

            debugText.height = stage.stageHeight;

            debugText.text = "Madly continue press/swap both left and right down corner will make touch end event not firing anymore";

            addChild(debugText);

        }

      

        private function __touchBegin(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchMove(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchEnd(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __touchTap(e:TouchEvent):void{

            print(e.touchPointID + "-" + e.type);

        }

      

        private function __resized(e:Event):void{

            debugText.width = stage.stageWidth;

            debugText.height = stage.stageHeight;

        }

      

        private function print(msg:String):void{

            debugText.appendText(msg+"\n");

            debugText.scrollV = debugText.maxScrollV;

            if(debugText.length > 2000){

                debugText.text = "";

            }

        }

    }

}

with application sets:

  <aspectRatio>landscape</aspectRatio>

  <renderMode>direct</renderMode>

  <autoOrients>true</autoOrients>

  <fullScreen>true</fullScreen>

  <visible>true</visible>

and

    <iPhone>

        <InfoAdditions><![CDATA[

         <key>UIDeviceFamily</key>

         <array>

              <string>1</string>

              <string>2</string>

         </array>

         <key>UIPrerenderedIcon</key>

            <true/>

        ]]></InfoAdditions>

        <requestedDisplayResolution>high</requestedDisplayResolution>

    </iPhone>

For the beginning, the events are fired correctly, but if you touch/swap rapidly both on left and right down corner(some times press inside screen and drag outside) just like you are playing a landscape orients ACT game, soon later, you can find the BEGIN and MOVE  events fires but with no END either TAP events, after that, the TOUCH_END event will no longer fires anymore --  except only this way :

1. First touch one finger on the screen and do not release -- keep pressing

2. Touch another finger and then release, this finger will have TOUCH_END event fired, but the first finger will not when you release it.

From now on, if you just make one touch a time, you will just get TOUCH_BEGIN/TOUCH_MOVE, no more TOUCH_END neither TOUCH_TAP. This make the application interaction broken!

Attention: I can not say a specified operation to reproduce the bug, but i always make it out with rapid click and drag on lower-left and lower_right corner for a moment with two fingers at the same time.

control.png

TOPICS
Performance issues

Views

1.0K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Feb 18, 2016 0
Explorer ,
Feb 22, 2016

Copy link to clipboard

Copied

Hi,

Thanks for reporting the issue .We are  successfully able to reproduce the issue i.e TOUCH_END event is not getting triggered. Can you please let us know have you encounter the same issue on previous builds also or only AIR SDK 20.0.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 22, 2016 0
New Here ,
Feb 22, 2016

Copy link to clipboard

Copied

Hi thanks for reply, god this bug is really hard for games.

I have tested AIR SDK 18.0, 19.0, same issue here.

And more information:

1. My iPad mini with iOS 7.0 and  iPad mini2 with iOS 9.2 can not reproduce the issue.

2. My iPhone6 plus with iOS 8.4 and iPhone6 with iOS 9.2 are very easy to reproduce the issue.

So i guess maybe it is the bug only for iPhone?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 22, 2016 0
Explorer ,
Feb 22, 2016

Copy link to clipboard

Copied

Hi,

Thanks a lot for the update .And Yes bug is only for iPhone.We will further investigating the issue and will let you know on the update.

Thanks,

Adobe Flash Team

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 22, 2016 0
New Here ,
Feb 22, 2016

Copy link to clipboard

Copied

Thank you, i'm looking forward to it, hope it can be fixed soon since our games are released for days.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Feb 22, 2016 0
New Here ,
Mar 08, 2016

Copy link to clipboard

Copied

Hi lokeshk, any news about this?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Mar 08, 2016 0
Explorer ,
Mar 08, 2016

Copy link to clipboard

Copied

Hi,

We  have  logged an internal bug for that and will keep you inform once the issue will fix.

Thanks,

AIR Team

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Mar 08, 2016 0
New Here ,
Apr 08, 2016

Copy link to clipboard

Copied

Hi lokeshk, a month later without any news, we really hope this bug can be fixed, it is very annoying because once you trigger this bug, the only way is to close the app and restart again, with many user lost.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 08, 2016 0
Explorer ,
Apr 18, 2016

Copy link to clipboard

Copied

Hi,

Sorry for inconvenience caused.We are trying to fix this issue and will let you know once it is fixed .

Thanks,

Adobe AIR Team

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 18, 2016 0
Explorer ,
Jun 28, 2016

Copy link to clipboard

Copied

Hi,

Can you please try putting launch images as the issue is with screen size.Most probably it will resolve the issue.If issue persists,please let me know .

Thanks,

Adobe AIR Team

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jun 28, 2016 0
Explorer ,
Jan 11, 2017

Copy link to clipboard

Copied

Hey,

Is this bug still active?

I don't have any i6s to test on but I heard from a beta-user with this phone problems with the tapping.

I've got 6 launch images included + using air 23 with flash cs6.

Regards,

T

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 11, 2017 0
Adobe Employee ,
Jan 11, 2017

Copy link to clipboard

Copied

Hi Tobias,

This bug is not active since adding launch images resolved the issue for us. Please let us know in case the issue is still reproducible and we will investigate that.

Thanks for the help,

Ankit | Adobe AIR Engineering

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 11, 2017 0
Explorer ,
Jan 11, 2017

Copy link to clipboard

Copied

Okay thanks!

Did I miss any launch image? Attaching screenshot.

/T

2017-01-12 8:23 GMT+01:00 Anki(AG) <forums_noreply@adobe.com>:

TOUCH_END events not being dispatched anymore in this case created by

Anki(AG) <https://forums.adobe.com/people/Anki%28AG%29> in *AIR Bugs and

Performance Issues* - View the full discussion

<https://forums.adobe.com/message/9256887#9256887>

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 11, 2017 0
Adobe Employee ,
Jan 12, 2017

Copy link to clipboard

Copied

Hi Tobias,

Unfortunately I didn't get any screenshot. Could you please go through this blog Launch Images on iOS with Adobe AIR  and have launch images in your application as per these guidelines.

Thanks,

Ankit | Adobe AIR Engineering

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 12, 2017 0
swamp222 LATEST
Explorer ,
Jan 12, 2017

Copy link to clipboard

Copied

Thanks, I see, I had the wrong png-name for iphone 6

Strange solution though

/T

2017-01-12 9:05 GMT+01:00 Anki(AG) <forums_noreply@adobe.com>:

TOUCH_END events not being dispatched anymore in this case created by

Anki(AG) <https://forums.adobe.com/people/Anki%28AG%29> in *AIR Bugs and

Performance Issues* - View the full discussion

<https://forums.adobe.com/message/9256998#9256998>

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 12, 2017 0