cocos2d/cocos2d-objc

CCTouchEvent allTouches has wrong position on Android

ziem opened this issue · 1 comments

ziem commented

Hello,
I'm new to SpriteBuilder. It works great! I made simple game for iOS and it almost works in Android. There is a problem with multitouch. When I use method:

-(void) touchBegan:(CCTouch *)touch withEvent:(CCTouchEvent *)event

there is a problem with CCTouchEvent... This code:

NSLog(@"Touch: %@", touch);
NSLog(@"Touches: %@", event.allTouches);

produces:

I/ViewRootImpl(18526): ViewRoot's Touch Event : ACTION_POINTER_DOWN(1)
D/Main    (18526): 2015-04-18 23:46:35.962 Main[18526:2794] Touch: <CCTouchAndroid: 0x8c301b80 location: {334.784515, 215.530884} phase: 0>>
D/Main    (18526):     <801b308c> = <CCTouchAndroid: 0x930e2d60 location: {0.000000, 0.000000} phase: 0>;
D/Main    (18526):     <502e0e93> = <CCTouchAndroid: 0x930e2cd0 location: {0.000000, 0.000000} phase: 0>;
D/Main    (18526): }

Why allTouches are in position (0,0)? Is this a bug?
I use Xcode 6.2, SpriteBuilder Version: 1.4.9.

Test devices:

  • LG G3 (D855) with Android 5.0
  • Nexus 7 (2012 and 2013) with Android 5.0
  • Samsung S with CyanogenMod 4.4.2
  • Sony LWW with Android 4.0.4

PS. In iOS it works good:

2015-04-19 00:01:52.793 [7951:56906] Touch: <CCTouchIOS: 0x7a6968f0 location: {418.000000, 178.500000} phase: 0>
2015-04-19 00:01:52.794 [7951:56906] Touches: {
    "<f055097d>" = "<CCTouchIOS: 0x7a696860 location: {150.000000, 141.500000} phase: 0>";
    "<9070057d>" = "<CCTouchIOS: 0x7a6968f0 location: {418.000000, 178.500000} phase: 0>";
}

http://forum.spritebuilder.com/t/cctouchevent-alltouches-are-wrong/3556

Android support is dropped.