Cocoa touch 如何从一组具有不同属性的精灵中添加精灵图像?

Cocoa touch 如何从一组具有不同属性的精灵中添加精灵图像?,cocoa-touch,cocos2d-iphone,Cocoa Touch,Cocos2d Iphone,在我的应用程序中,有一名玩家和10个目标。每个目标依次出现(从target1到target10)。这是一场射击比赛。如果我们击中第一个目标,第二个目标就会出现。目标具有名称、speedOfGunDraw、击中玩家的概率、speedOfFire等属性。 我应该怎么做才能使它们以这些属性一个接一个地出现。我正在使用CCMenuItem作为目标。我正在为玩家使用精灵。请告诉我怎么做。 谢谢。回答您的问题:使用Cocos2D,您的场景将创建精灵。您可以获取当前跑步场景并向其发送一条消息(“我中枪了”)。

在我的应用程序中,有一名玩家和10个目标。每个目标依次出现(从target1到target10)。这是一场射击比赛。如果我们击中第一个目标,第二个目标就会出现。目标具有名称、speedOfGunDraw、击中玩家的概率、speedOfFire等属性。 我应该怎么做才能使它们以这些属性一个接一个地出现。我正在使用CCMenuItem作为目标。我正在为玩家使用精灵。请告诉我怎么做。
谢谢。

回答您的问题:使用Cocos2D,您的场景将创建精灵。您可以获取当前跑步场景并向其发送一条消息(“我中枪了”)。这可以通过导演来完成

[[CCDirector sharedDirector] runningScene]; // returns a pointer to the running scene
[[[CCDirector sharedDirector] runningScene] someoneShotMe: self]; // will message the scene that you're shot.
或者,如果场景没有控制对象,则在创建“敌人”时,将希望作为代理通知的对象设置为代理

我认为你把这件事复杂化了,因为你没有使用MVC

您不应该对精灵进行子类化,以便在“视图”之外为其提供更多功能

probabilityToHitPlayer
这样的属性不会直接影响视图,因此不应该存储在精灵中

创建一个新类,如
敌方
NSObject
的子类),该类包含一个精灵,以及其他属性,如
probabilityToHitPlayer

敌人可以处理逻辑(它是一个控制器),而精灵处理可见部分

还有,使用菜单项是因为它们具有触摸检测功能吗?不漂亮。相反,请查看CCTargetedTouchDelegate

Enemy * enemy1 = [[Enemy alloc] init];
[enemy1 setDelegate: self];

// and then from your enemy object, you call a message on the delegate
[self->delegate someoneShotMe: self];