我正在嘗試做一個小型的射箭遊戲,目前我有一個基本的touchesBegan
方法,它使用SKActions
來爲射手製作動畫並拍攝箭頭。SpriteKit:如何實現touchesBegan和touchesEnded將分割動作分爲兩部分?
我很難得到它,所以我保持觸摸畫弓,然後當我釋放時,動畫的其餘部分播放和箭頭射擊。
我使用兩個單獨的NSMutableArray
地圖集跨越touchesBegan
和touchesEnded
方法流傳着userInteractionEnabled
標誌嘗試過,但,這是一個有點不走......
最後我想保持的時間要口述值爲applyImpulse:CGVectorMake
。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
SKNode *archerNode = [self childNodeWithName:@"archerNode"];
if (archerNode != nil)
{
SKAction *draw = [SKAction animateWithTextures:self.archerDraw timePerFrame:0.075];
[archerNode runAction:draw];
SKAction *shootArrow = [SKAction runBlock:^{
SKNode *arrowNode = [self createArrowNode];
[self addChild:arrowNode];
[arrowNode.physicsBody applyImpulse:CGVectorMake(20.0, 0)];
}];
SKAction *sequence = [SKAction sequence:@[draw, shootArrow]];
[archerNode runAction:sequence];
}
}
請從觸控代表處發佈與此問題相關的完整代碼。 – ZeMoon