Я хочу повернуть пистолет на основе того, что пользователь перетаскивает их пальцем по экрану. Я полагаю, что мне понадобятся мои декартовы точки в полярных координатах и что мне понадобится длинный жест прессы, который есть и то, что у меня есть. Мне просто интересно, как я буду программировать это? жаль, что я действительно новичок в наборе спрайтов. Я прочитал всю документацию по яблоко, и мне трудно найти это. Моя опорная точка равна 0,0.Как повернуть что-то с помощью spritekit относительно координат касания пользователя
-(void)shootBullets:(UILongPressGestureRecognizer *) gestureRecognizer
{
double radius;
double angle;
SKSpriteNode *gun = [self newGun];
}
Я понял, как получить угол, но теперь моя zrotation не будет работать. Как и я nslog, и углы правы, но когда я нажимаю gun.zrotation, и я ничего не слышу? пожалуйста, помогите, я получаю uber безумный.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
SKSpriteNode *gun = [self newGun];
self.gunRotation = atanf(location.y/location.x)/0.0174532925;
gun.zRotation = self.gunRotation;
NSLog(@"%f",gun.zRotation);
}
Я не знаю этого языка, этот ответ появился в «Поздних ответах». Предполагается, что в этом есть f? '* 0.01745329252f' – Popnoodles
' SK_DEGREES_TO_RADIANS (90.0f) 'на самом деле' M_PI_2'. –
Существует встроенная функция для градусов и радиан: ['GLKMathDegreesToRadians()'] (https://developer.apple.com/library/ios/documentation/GLkit/Reference/GLKMathUtils/index.html#//apple_ref/с/FUNC/GLKMathDegreesToRadians). –