Я работаю над игрой для iPhone, которая использует акселерометр для управления. У меня пока нет пользователя программы Apple Developer Program, поэтому я не могу проверить его на своем устройстве, поэтому я пытаюсь дать игре некоторые значения акселерометра в зависимости от того, где я нажимаю на экран.
Что я пытался сделать:
Я попытался установить середину экрана в качестве средней точки, тогда смещение ответвления от средней точки было бы XY акселерометра. Я знаю, что эти значения будут больше 1, и что мне нужны значения от 1 до -1, поэтому я попытался сделать много вещей, чтобы заставить его работать. Я часто был рядом, но я не мог заставить его работать.
Кроме того, я хочу, чтобы был предел, если расстояние от средней точки больше 100, (вы знаете, sqrt (dx dx + dy dy), тогда это будет 100, а не как 193 или что-то.
Вот мой код:
- (void) ccTouchesMoved: (NSSet *)touches withEvent: (UIEvent *)event
{
if(IS_SIMULATOR)
{
for( UITouch *touch in touches ) {
CGPoint location = [[CCDirector sharedDirector] convertToGL: [touch locationInView: [touch view]]];
CGFloat dx = location.x - middleOfScreen.x;
CGFloat dy = location.y - middleOfScreen.y;
CGFloat d = sqrtf(dx*dx+dy*dy);
CGFloat a = atan2(dy, dx);
CGFloat accX = /*acceleration value x*/
CGFloat accY = /*acceleration value y*/
//[mlRef setAcceleration: ccp(accX, accY)];
}
}
}
Надеюсь, вы понимаете, чего я хочу, пожалуйста, помогите. :)
Кроме того, прежде чем кто-либо порекомендует его, нет, я не хочу использовать iSimulate, мой домашний интернет не любит его. (