2013-10-04 88 views
2

如何獲得SKNode前進?SKAction向前移動

我已經能夠使用[SKAction moveByX:y:duration:]使節點在固定方向上移動,但我希望它能夠沿相對於它所面對的方向的方向移動。

我正在尋找使每個節點轉向45度,然後「走」向前50個像素。

這似乎很簡單,我只是無法找到它。

回答

2

這會轉動,然後走到你點擊

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

for (UITouch *touch in touches) { 

    for (UITouch *touch in touches) { 

     CGPoint location = [touch locationInNode:self]; 

     CGPoint diff = CGPointMake(location.x - _myPlayer.position.x, location.y - _myPlayer.position.y); 

     CGFloat angleRadians = atan2f(diff.y, diff.x); 

     [_myPlayer runAction:[SKAction sequence:@[ 
           [SKAction rotateToAngle:angleRadians duration:1.0], 
           [SKAction moveByX:diff.x y:diff.y duration:3.0] 
           ]]]; 
    } 
} 
} 
0

我曾想過這一點。我想在繼續之前創建一個似乎可以轉向的節點。我已經考慮過這樣做的一種方法是讓子節點附加在場景中移動的節點的「最前面」部分。然後我會計算點擊形式的子節點的距離。那有意義嗎?從本質上講,我將能夠從場景中的任意位置輕敲節點來計算節點的前端。

相關問題