嗨我终于在cocos2d中制作了一个可操作的游戏杆。我能够将精灵旋转到操纵杆大拇指或“帽”指向的确切角度。但是,我无法将精灵移向同一个方向。用我设置旋转代码的方式移动精灵有没有简单的方法?如果你的拇指仍然按下,但是没有移动操纵杆,还有办法让它移动吗? PS这个代码都在TouchesMoved方法中。 PPS。帽子是拇指,垫子是操纵杆背景,Sprite2是我想要移动的精灵。 (95,95)是焊盘精灵的中心。如何使用游戏杆以特定角度移动精灵
if(capSprite.position.x>=padSprite.position.x){
id a3 = [CCFlipX actionWithFlipX:NO];
[sprite2 runAction:a3];
}
if(capSprite.position.x<=padSprite.position.x){
id a4 = [CCFlipX actionWithFlipX:YES];
[sprite2 runAction:a4];
}
CGPoint pos1 = ccp(95, 95);
CGPoint pos2 = ccp(capSprite.position.x, capSprite.position.y);
int offX = pos2.x-pos1.x;
int offY = pos2.y-pos1.y;
float angleRadians = atanf((float)offY/(float)offX);
float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
float theAngle = -1 * angleDegrees;
sprite2.rotation = theAngle;