gpt4 book ai didi

iphone - CCNode的用户数据

转载 作者:行者123 更新时间:2023-12-03 21:20:18 26 4
gpt4 key购买 nike

我有一个 CCMenuItemSprite,它被实例化以调用函数:

`

menuControl = [CCMenu menuWithItems: nil];

//Create the buttons
for(int i=1;i<17;i++)
{
Button *B_image = [Button buttonWithTexture:Sheet.texture type:i];

CCMenuItemSprite *menuButton = [CCMenuItemSprite itemFromNormalSprite:B_image selectedSprite:B_image target:self selector:@selector(generateEnemy:)];

NSNumber *Btype = [NSNumber numberWithInt:i];
menuButton.userData = Btype;

[menuControl addChild:menuButton];

}

[self addChild:menuControl];`

正如您在上面看到的,我使用 menuButton.userData 传入 NSNumber。这是向generateEnemy函数“传递一个参数”。

`-(void) generateEnemy:(CCMenuItemSprite*)sender
{
NSNumber *Btype = (NSNumber*)sender.userData;

int Etype = [Btype intValue];

enemy = [[Enemy alloc]init:ccp(300,0) Type:Etype];
}

它崩溃于:NSNumber *Btype = (NSNumber*)sender.userData;它适用于数字 1-12。但是13及以上就崩溃了。

最佳答案

这个问题我已经解决很久了。由于这个概念它崩溃了here .

我传递数据的方式是:

for(int i=1;i<17;i++)
{
Button *B_image = [Button buttonWithTexture:Sheet.texture type:i];

CCMenuItemSprite *menuButton = [CCMenuItemSprite itemFromNormalSprite:B_image selectedSprite:B_image target:self selector:@selector(generateEnemy:)];

menuButton.tag = i;

[menuControl addChild:menuButton];

}

在generateEnemy函数中:

-(void) generateEnemy:(id) sender
{
enemy = [[Enemy alloc]init:ccp(300,0) Type:[sender tag]];
}

关于iphone - CCNode的用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com