【发布时间】:2014-07-15 03:50:50
【问题描述】:
我正在使用精灵套件来创建游戏。
我有一个玩家节点,我可以通过触摸来控制它,但我有一个可以自行移动的敌人节点。我需要敌人能够自己发射弹丸。我猜我需要一个方法来调用它。无论我的玩家在哪里,我都需要射弹的方向。有什么建议吗?
这是我的方法:
-(void)monstershoot
{
SKSpriteNode * projectile = [SKSpriteNode spriteNodeWithImageNamed:@"projectile"];
projectile.position = _enemy.position;
CGPoint offset = rwSub(_player.position, projectile.position);
if (offset.x <= 0) return;
[_background addChild:projectile];
CGPoint direction = rwNormalize(offset);
CGPoint shootAmount = rwMult(direction, 1000);
CGPoint realDest = rwAdd(shootAmount, projectile.position);
// 9 - Create the actions
float velocity = 480.0/1.0;
float realMoveDuration = self.size.width / velocity;
SKAction * actionMove = [SKAction moveTo:realDest duration:realMoveDuration];
SKAction * actionMoveDone = [SKAction removeFromParent];
[projectile runAction:[SKAction sequence:@[actionMove, actionMoveDone]]];
}
但是当我调用它时没有任何反应。
【问题讨论】:
-
“什么都没发生”是什么意思?
-
敌人没有射弹。敌人就在那里。重点是让他们向我的球员开枪。但“什么也没发生”@CHBuckingham
-
NSLog 偏移量,你会明白为什么。 :-)
标签: ios xcode sprite-kit