Iphone 发射了多少子弹?
我非常沮丧,我知道这只是因为我不知道我在用cocos2d做什么。我正在关注Ray Wenderlich关于cocos2d的教程,我正在尝试将它们整合在一起。轻敲屏幕时,一颗子弹向轻敲方向发射。我正在使用Iphone 发射了多少子弹?,iphone,ios,xcode,cocos2d-iphone,sprite,Iphone,Ios,Xcode,Cocos2d Iphone,Sprite,我非常沮丧,我知道这只是因为我不知道我在用cocos2d做什么。我正在关注Ray Wenderlich关于cocos2d的教程,我正在尝试将它们整合在一起。轻敲屏幕时,一颗子弹向轻敲方向发射。我正在使用 - (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; CGPoint touchLocation = [self con
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [self convertTouchToNodeSpace:touch];
[self.officer shootToward:touchLocation];
[self.officer shootNow];
}
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [self convertTouchToNodeSpace:touch];
[self.officer shootToward:touchLocation];
[self.officer shootNow];
}
在我的警官类中调用这些方法
- (void)shootNow {
// 1
CGFloat angle = ccpToAngle(_shootVector);
_gun.rotation = (-1 * CC_RADIANS_TO_DEGREES(angle)) + 90;
// 2
CGSize winSize = [[CCDirector sharedDirector] winSize];
float mapMax = MAX(winSize.width, winSize.height);
CGPoint actualVector = ccpMult(_shootVector, mapMax);
// 3
float POINTS_PER_SECOND = 300;
float duration = mapMax / POINTS_PER_SECOND;
// 5
for(id item in self.children) {
NSString *bulletName = [NSString stringWithFormat:@"bullet.png"];
CCSprite * bullet = [CCSprite spriteWithSpriteFrameName:bulletName];
//bullet.tag = _type;
bullet.position = ccpAdd(self.position, ccpMult(_shootVector, _gun.contentSize.height));
CCMoveBy * move = [CCMoveBy actionWithDuration:duration position:actualVector];
CCCallBlockN * call = [CCCallBlockN actionWithBlock:^(CCNode *node) {
[node removeFromParentAndCleanup:YES];
}];
[bullet runAction:[CCSequence actions:move, call, nil]];
[self.batchNode addChild:bullet];
//[self addChild:bullet];
[_shotsFired addObject:bullet];
}
}
所以我认为这将是一个简单的for循环,通过第五步x多次,然后调用一个重载方法。那没用。所以我试着数一数屏幕上的点击次数,我想如果点击次数达到x,然后调用重载方法(这还没有写出来)?问题是每次你按下屏幕的不同区域时,计数都会从一个区域重新开始。有人能帮我度过这一周的脱发过程吗?如何计算我开枪的次数?难道你不能在视图控制器上创建一个属性,然后每次调用shot now方法时,只需将1添加到属性中,然后在调用reload方法时将其重置为0吗