Я пытаюсь сделать sprite вращаться одним касанием пальца. Честно говоря, я понятия не имею, как это сделать, новичок в spriteKit. Любые идеи?Как повернуть изображение/спрайт с помощью spriteKit?
ответ
Это повернет спрайт туда, где вы касаетесь действия. Если вы хотите, чтобы он вращался при перетаскивании пальца. Вы должны удалить действие и выполнить расчет на touchesMoved:
.
-(void)didMoveToView:(SKView *)view {
sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Spaceship"];
sprite.xScale = 0.5;
sprite.yScale = 0.5;
sprite.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
[self addChild:sprite];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
float dY = sprite.position.y - location.y;
float dX = sprite.position.x - location.x;
float angle = atan2f(dY, dX) + 1.571f;
[sprite runAction:[SKAction rotateToAngle:angle duration:0.5 shortestUnitArc:YES]];
return;
}
}
В качестве альтернативы:? (Не забудьте удалить код из touchesBegan:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
float dY = sprite.position.y - location.y;
float dX = sprite.position.x - location.x;
float angle = (atan2f(dY, dX)) + 1.571f;
sprite.zRotation = angle;
}
}
Как вы сказали, я хочу, чтобы он вращался это при перетаскивании пальца. Но что вы имеете в виду, удалив действие, как спрайт будет вращаться без ac Тион? Код может быть полезен ... Еще раз спасибо! –
ПрикосновенияMoved: метод вызывается каждый раз, когда движение касания перемещается, что довольно много. Если вы добавили действие каждый раз, это, вероятно, выглядело бы странно и было бы неэффективным. Поэтому вы должны обновлять ротацию вручную. Я обновил ответ на альтернативное решение. – gzafra
- 1. Как повернуть SKPhysicsBody в SpriteKit с Swift
- 2. Как повернуть спрайт с помощью перетаскивания
- 3. Как повернуть и указать местоположение курсора в SpriteKit?
- 4. iOS7 SpriteKit как повернуть сцену к пейзажу на iPad?
- 5. Как повернуть что-то с помощью spritekit относительно координат касания пользователя
- 6. Как повернуть Sprite на 90 градусов в SpriteKit
- 7. Повернуть изображение с помощью javascript
- 8. Повернуть изображение с помощью ffmpeg
- 9. Замедленное движение с помощью SpriteKit
- 10. Масштабирование SkSpriteNodes с помощью SpriteKit
- 11. Как повернуть 3D-камеру с помощью glm
- 12. Как повернуть рамку с помощью клавиатуры?
- 13. Как повернуть видео с помощью OpenCV
- 14. Как повернуть точку с помощью transformations.py
- 15. Как повернуть фигуру с помощью матрицы вращения?
- 16. Как повернуть полную страницу с помощью tcpdf?
- 17. Как повернуть изображение с помощью GTK +/Cairo
- 18. Как повернуть изображение с помощью UIPanGestureRecognizer
- 19. Как повернуть изображение с помощью сенсорного
- 20. Как повернуть матрицу с помощью setPolyToPoly
- 21. Android: как повернуть изображение с помощью Fresco
- 22. как повернуть файлы журнала с помощью файлов?
- 23. Как повернуть изображение ImageButton с помощью анимации.
- 24. Как повернуть строку с помощью событий мыши
- 25. Как повернуть растровое изображение с помощью AffineTransform
- 26. Как повернуть текст с помощью OpenLayers 3
- 27. Как повернуть маркеры карт с помощью Skobbler
- 28. Как повернуть объект с помощью камеры three.js
- 29. Как повернуть несколько слов с помощью CSS?
- 30. Как повернуть основной текст с помощью Swift?
ли вы хотите, чтобы держать на вращающемся до тех пор, как вы касаетесь или в течение заданного времени или заданное количество – Egghead
Вы хотите повернуть спрайт на определенный угол в зависимости от местоположения касания пользователя или просто открутить спрайт на неопределенный срок? – 0x141E
спасибо людям (: этот парень там решил это (: –