を移動しません。すなわち、1つの位置でユーザがタッチすると、ジョイスティックはそこに現れ、使用する準備ができて、指が離されると取り外す。(cocos2d卑劣な入力)、スプライトは私がジョイスティックがあるべき場所、ユーザーが選択できるようにしたい
-(void) sneakyUpdate {
if ([self getChildByTag:kTagJoyStick] != nil) {
if (joystick.velocity.x < 0) {
[self controlLeft];
}
else if (joystick.velocity.x > 0) {
[self controlRight];
}
else {
[self controlStop];
}
}
else {
[self controlStop];
}
}
が、結果は、ジョイスティックが表示され、自動削除されます:
-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if ([self getChildByTag:kTagJoyStick] == nil) {
[self addJoystickWithPosition:[Helper locationFromTouches:touches]];
}
}
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ([self getChildByTag:kTagJoyStick] != nil) {
[self removeChildByTag:kTagJoyStick cleanup:YES];
}
}
-(void) ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
[self ccTouchesEnded:touches withEvent:event];
}
(ccTouchesMoved方法で何もしない)
ジョイスティックの更新方法があります。私のスプライトは動きません。 (私はsneakyUpdateメソッドが呼び出さなかった、ブレークポイントを設定したがjoystick.velocityは常に0です(とthumbSpriteが私たちの指に従わなかった 私を助けてください
更新:。。。 、それが判明します私は2本の指を使う必要があります(1度はタッチで1回、ジョイスティックを表示させ、指を離してから別の指でジョイスティックを操作してください)
あなたは運が良ければ、これが動作するようになってありましたか? – Kyle
@Zenox残念ながら、私はInfinity Fieldで使用されているものが自分でコード化されていると信じています。 – OMGPOP