1
嗨,大家好我有這個雪碧套件大炮遊戲,它完美的作品,但有一個問題。如果我將大炮指向頂部或底部,就像您在圖像中看到的那樣,子彈由大炮的精靈中心產生,它清楚地表明子彈不是從大炮的隧道中被射出,而是從圖像的中心,我怎樣才能修復這個子彈的位置,使它始終從隧道的口中產生。無法得到子彈圖像產卵在正確的位置
這是我的代碼到目前爲止。
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint location = [_Player position];
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInNode:self.scene];
bullet = [SKSpriteNode spriteNodeWithImageNamed:@"cannonbullet"];
bullet.xScale = 0.06;
bullet.yScale = 0.06;
bullet.position =
CGPointMake(location.x+_Player.zRotation,location.y+_Player.zRotation);
bullet.zPosition = 0;
CGPoint offset = rwSub(touchLocation, bullet.position);
if (offset.x <= 0) return;
[self addChild:bullet];
CGPoint direction = rwNormalize(offset);
CGPoint shootAmount = rwMult(direction, 400);
CGPoint realDest = rwAdd(shootAmount, bullet.position);
float velocity = 480.0/1.0;
float realMoveDuration = self.size.width/velocity;
SKAction * actionMove = [SKAction moveTo:realDest duration:realMoveDuration];
SKAction * actionMoveDone = [SKAction removeFromParent];
[bullet runAction:[SKAction sequence:@[actionMove, actionMoveDone]]];
[self animStarter];
}
正如你可以在圖像中看到的,如果大炮沒有直射,炮彈將從非常偏離的位置產生。
我就買午餐,如果我能見到你。 「」「」你真棒。「」「」這是作品。我不知道該如何謝謝你。但是,謝謝你一百萬次。 – Ray
不客氣。繼續編碼! – sangony