Движение акселерометра ведет себя странно - PullRequest
0 голосов
/ 01 октября 2010

Прямо сейчас я пытаюсь заставить свой спрайт двигаться влево, когда устройство наклоняется влево, и двигаться вправо, когда устройство наклоняется вправо.Движение оси Y вообще отсутствует. (Это хорошо) Код, который я использую, кажется, работает очень хорошо, за исключением того, что при наклоне влево спрайт перемещается только на треть пути по экрану, а не к другому.сторона, как я этого хочу.Есть ли у вас какие-либо предложения о том, как заставить это работать?Я хотел бы сохранить это строго для приложения cocos2d.Нет бурундук или box2D.Это портретный режим.

Вот код:

- (void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration*)acceleration {

    float destX;

    float destY;
BOOL shouldMove = NO;



if (acceleration.x > 0) {
    destX = acceleration.x * kPlayerSpeed;
    shouldMove = YES;
} else if (acceleration.x < 0) {
    destX = acceleration.x * kPlayerSpeed;
    shouldMove = YES;
}

if(shouldMove) {

    CCAction *action = [CCMoveTo actionWithDuration:1 position:CGPointMake(destX, 40)];
       [action setTag:kHeroMovementAction];
        [player runAction:action];


    }
    else {
    // should stop
    [player stopActionByTag:kHeroMovementAction];
    }

}

1 Ответ

0 голосов
/ 27 апреля 2011

Поскольку этот вопрос не получил никаких ответов, и я давно решил свою проблему, ее можно удалить. (Билл Ящерица хорош в этом.>:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...