ios - 在 SpriteKit iOS 中手动移动/旋转物理主体的最佳方法

标签 ios objective-c sprite-kit skphysicsbody

在 SpriteKit 中手动移动或旋转 physicsBody 的最佳方法是什么?当用户触摸屏幕时将调用移动。?

一个重要的要求是 physicsBody 必须移动并停留在新的位置/旋转,直到触摸结束。话虽这么说,仅仅施加冲动是不够的。

帮助将不胜感激。

最佳答案

旋转和移动 body 的两种方式

1)

ontouch旋转

sprite.physicalsBody.allowsRotation=TRUE;

ontouch 变革 x

-(void)didSimulatePhysics {

sprite.physicsBody.velocity=CGVectorMake(50, 0);

第二种方法你可以通过 skAction 做到这一点,但要确保你的物理 body 不是动态的

[SKAction moveBy:<#(CGVector)#> duration:<#(NSTimeInterval)#>];
[SKAction rotateByAngle:<#(CGFloat)#> duration:<#(NSTimeInterval)#>];

给每一个 Action 命名,并在触摸结束时将其删除

关于ios - 在 SpriteKit iOS 中手动移动/旋转物理主体的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866638/

相关文章:

sprite-kit - 在 Sprite Kit 中将数据存储在 plist 中与在场景编辑器中设置数据有什么区别?

objective-c - iOS应用程序将数据发送到Rest API服务

android - 智能手机之间的蓝牙局域网?一对多电话连接?

ios - 在 iPhone SE iOS 10.1.1 上调用 UNUserNotificationCenter.current().getPendingNotificationRequests 崩溃

ios - 如何在PageViewController页面滑动时触发动画

ios - UITableView 奇怪的 reloadData 问题

ios - 以编程方式创建 UIImageView

ios - SpriteKit addChild(节点: SKNode) plural?

ios - 在应用购买中实现问题

ios - 保持 iAds 横向 SpriteKit/Swift