是)我有的:
我想要的是:
UITouch
位置变量-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
//SKAction *action = [SKAction rotateByAngle:M_PI duration:1];
//[sprite runAction:[SKAction repeatActionForever:action]];
for (UITouch *touch in touches) {
location = [touch locationInNode:self];
}
float ballVelocity = self.frame.size.height/3.0;
CGPoint moveDifference = CGPointMake(location.x - ball.position.x,location.y - ball.position.y);
float distanceToMove = sqrtf(moveDifference.x * moveDifference.x +moveDifference.y * moveDifference.y);
float moveDuration = distanceToMove / ballVelocity;
Act_Move = [SKAction moveTo:location duration:moveDuration];
Act_MoveDone = [SKAction runBlock:^(){
NSLog(@"stoped");}];
ActballMoveSeq = [SKAction sequence:@[Act_Move,Act_MoveDone]];
if(((location.y>screenSize.height/2)&&(ball.position.y<screenSize.height/2))||((location.y<screenSize.height/2)&&(ball.position.y>screenSize.height/2))){
if(canTap == true){
[ball runAction:ActballMoveSeq withKey:@"moveBall_seq"];
}
}
}
为了使球向上移动一定距离并自行返回,请在节点上使用applyImpulse。
// modify the dy value (100) to whatever value suits your needs
[myNode.physicsBody applyImpulse:CGVectorMake(0, 100)];
只要您的节点受到重力的影响,它最终会回落。