Cocos2d iphone 64位设备中的CCButton回调发送器不同

Cocos2d iphone 64位设备中的CCButton回调发送器不同,cocos2d-iphone,uitouch,arm64,Cocos2d Iphone,Uitouch,Arm64,我有一个cocos2dv3.00版的游戏。在我添加arm64架构之前,一切都正常。现在,在64台设备上,每次我使用CCButton回调方法时,发送方都是UITouch,而不是32位的CCButton [编辑] 我的代码: -(void)addButton { CCButton *myButton = [CCButton buttonWithTitle:@"[ Pause ]" fontName:@"Jet Set.ttf" fontSize:18.0f]; myButton.po

我有一个cocos2dv3.00版的游戏。在我添加arm64架构之前,一切都正常。现在,在64台设备上,每次我使用CCButton回调方法时,发送方都是UITouch,而不是32位的CCButton

[编辑]

我的代码:

-(void)addButton
{
    CCButton *myButton = [CCButton buttonWithTitle:@"[ Pause ]" fontName:@"Jet Set.ttf" fontSize:18.0f];
    myButton.positionType = CCPositionTypeNormalized;
    myButton.position = ccp(0.5f, 0.95f);
    myButton.name = @"testbutton";
    [myButton setTarget:self selector:@selector(myButtonPressed:)];
    [self addChild:myButton];
}
-(void)myButtonPressed:(CCButton*)sender
{

        NSLog(@"%s = %@", "sender", sender);
}

  // 32Bits => sender = <CCButton = 0x17e0c180 | Name = button_1>
  // 64Bits => sender = <UITouch: 0x1743841d0>
有办法解决吗


谢谢。

尝试更新到最新的v3.3,这可能是一个bug。还要确保不仅在应用程序的目标中启用arm64,而且在链接到它的任何目标中也启用arm64。如果cocos2d恰好是一个单独的静态库目标,则必须更改其架构设置,以匹配应用程序目标的架构设置。虽然通常不这样做会导致链接器错误。如果您发布CCButton创建代码,包括选择器的分配,可能会有所帮助。我用创建代码编辑了我的问题。对于Architecture,我的所有目标现在都有arm64应用程序和ObjectiveChipmunk。看起来正确。所以,也许你可以尝试一下更新的cocos2d版本。好吧,我已经升级了,即使在没有SpriteBuilder的现有项目中升级cocos2d看起来并不容易。顺便说一句,如果你知道一个地方的升级过程是详细描述,我将非常抱歉,因为这与我的第一个问题无关。谢谢你。