cocos2d:SneakyJoystick向下移动的触发代码

时间:2012-05-16 16:19:02

标签: objective-c xcode cocos2d-iphone joystick

我正在玩游戏,玩家只能向左和向右移动,但在地图上的某些位置,他们可以向上或向下推动以转到这些方向的新场景(例如通过后面的门)壁)。

如何设置我的SneakyJoystick以在用户按下时触发某些代码?目前正在执行以下操作以向左/向右移动我的播放器,我希望这可以继续,但是(现在),当玩家完全向上或向下推动摇杆时执行CCLOG。有什么想法吗?

- (void) applyJoystick:(SneakyJoystick *)aJoystick forTimeDelta:(float)deltaTime {
    CGPoint scaledVelocity = ccpMult(aJoystick.velocity, 325.0f);
    CGPoint oldPosition = [self position];
    CGPoint newPosition = ccp(oldPosition.x + scaledVelocity.x * deltaTime, oldPosition.y);

    [self setPosition:newPosition];
    if (oldPosition.x > newPosition.x) {
        self.flipX = YES;
    } else if (oldPosition.x == newPosition.x) {
        // Intentionally do nothing to preserve orientation at start of scene!
    } else {
        self.flipX = NO;
    }
}

1 个答案:

答案 0 :(得分:0)

int extra = 20;
if ((int) aJoystick.degrees > 270 - extra && aJoystick.degrees < 270 + extra) {
    // Joystick button seems to be pointing down
}

我认为这很有效。我不记得了。我认为270度是完全失望的。我正在检查方向度是否在一定范围内(270 - 20和270 + 20)。