私はいくつかの SKSpriteNodes があり、ユーザーが指の動きでそれらを打つことができるゲームを作ろうとしています。私はアップルの新しいスプライト キットを使用しています。
それを行うために、私はトリックを試しました - スプライトを配置します - 指がある場所に "X" (SKSpriteNode) を配置し、ユーザーが指を動かすと、この X スプライトの位置を変更します。
問題は、それが動いていない場合にのみ他のスプライトに当たることです.他のスプライトが動いている指の現在の速度に反応するようにしたいです-指の動きが速いほど、衝突が強くなるはずです.
助けていただけますか?
このトリックはこれを行う正しい方法ではないと感じていますが、コードも投稿しています。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if([touches count]==1) { self.X= [[SKSpriteNode alloc]initWithImageNamed:@"X"]; self.X.name= @"X"; UITouch *t= touches.allObjects[0]; self.X.position= [t locationInNode:self.GameNode]; self.X.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:20]; self.X.physicsBody.dynamic=YES; // Tried NO too... self.X.zPosition=1; [self.GameNode addChild:self.X]; } } -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *t = touches.allObjects[0]; self.X.position = [t locationInNode:self.GameNode]; } -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [self.X removeFromParent]; }