我有什么:
您点击并将球移动到该位置。
屏幕在上部和下部之间水平分割。降低。
假设球在下方,你不能点击下方让它移动。您必须单击屏幕的顶部。关于上层或下层,这翻转。
我想要的是什么:
x coord完全没有变化。
当球击中顶部时,它会改变方向并且只需点击一下就可以返回
删除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"];
}
}
}
答案 0 :(得分:2)
要让球向上移动一定距离并自行回归,请在节点上使用applyImpulse。
// modify the dy value (100) to whatever value suits your needs
[myNode.physicsBody applyImpulse:CGVectorMake(0, 100)];
只要您的节点受到重力的影响,它最终会重新降低。