这可能是一个以前已经回答过的无聊问题,但我似乎无法在线找到解决方案(谷歌不友善)。我的问题是,关于Cocos2d,我如何使用self方法传递2个参数。 我的代码示例
-(void)Random {
[self AiCharacter:theEvilOne];
[self AiCharacter:theEvilTwo];
}
-(void)AiCharacter(CCSprite*)EvilCharacter {
//stuff
}
但我想做类似以下的事情
-(void)Random {
num = 1
[self AiCharacter:theEvilOne, Num];
num = 2
[self AiCharacter:theEvilTwo, Num];
}
-(void)AiCharacter:(CCSprite*)EvilCharacter (NSInteger*)num { //This line is what seems to be incorrectly formatted/syntactically incorrect.
//stuff
}
为了向您提供有关我正在做的事情的更多信息,我有一个与我的单独AI字符相关的多维数组值,并且具有num值来区分与每个精灵相关的行。
答案 0 :(得分:2)
":"在方法签名中定义参数。这是写它的方式:
-(void)AiCharacter:(CCSprite*)EvilCharacter num:(NSInteger*)num {
}
您可以查看此帖子了解更多信息How do I pass multiple parameters in Objective-C?
答案 1 :(得分:0)
试试这个
-(void)Random {
num = 1
[self AiCharacter:theEvilOne: Num];
num = 2
[self AiCharacter:theEvilTwo: Num];
}
-(void)AiCharacter:(CCSprite*)EvilCharacter : (NSInteger*)num {
//This line is what seems to be incorrectly formatted/syntactically incorrect.
//stuff
}
答案 2 :(得分:0)
请仔细查看方法调用方式,尤其是冒号和参数......否则您将遇到崩溃
-(void)Random {
num = 1
[self AiCharacter:theEvilOne number:num];
num = 2
[self AiCharacter:theEvilTwo number:num];
}
-(void)AiCharacter:(CCSprite*)EvilCharacter number:(NSInteger)num {
}
答案 3 :(得分:-1)
Try this
-(void)Random {
CGPoint point=ccp(1.0,2.0);
[self AiCharacter:theEvilOne: point];
}
-(void)AiCharacter:(CCSprite*)EvilCharacter :(CGPoint)point {
float x=point.x;
float y=point.y;
}