ios - Sprite Kit 上动画节点的物理体
问题描述
我的游戏中有一个动画角色,它有 8 种不同的纹理,“永远重复”。我需要一个物理体,但我不知道如何创建。在我使用的其他游戏中,player.physicsBody = SKPhysicsBody(rectangleOf: UI.player.size)
但现在我想使用:
player.physicsBody = SKPhysicsBody(texture: playerTexture, size: player.size)
问题是纹理不同,我无法跟踪它们。有任何想法吗?
这是动画代码:
func playerRunning(player: SKSpriteNode){
let texture1 = SKTexture(imageNamed: "DJ 1")
let texture2 = SKTexture(imageNamed: "DJ 2")
let texture3 = SKTexture(imageNamed: "DJ 3")
let texture4 = SKTexture(imageNamed: "DJ 4")
let texture5 = SKTexture(imageNamed: "DJ 5")
let texture6 = SKTexture(imageNamed: "DJ 6")
let texture7 = SKTexture(imageNamed: "DJ 7")
let texture8 = SKTexture(imageNamed: "DJ 8")
let animate = SKAction.animate(with: [texture1, texture2, texture3, texture4, texture5, texture6, texture7, texture8], timePerFrame: 0.125)
let animateRF = SKAction.repeatForever(animate)
player.run(animateRF, withKey:"runningAction")
}
解决方案
我不知道有什么方法可以使物理体发生变化以匹配动画序列中的每个纹理。要么选择 8 种纹理中的一种作为创建物理体的纹理,要么使用矩形来创建物理体,就像您在其他游戏中所做的那样。
推荐阅读
- mysql - 在 mysql 表上运行完整搜索
- sftp - 我可以为多个本地环境使用相同的集成运行时服务器吗
- openshift - 在openshift中建立pod之间的相互tls连接
- python - 当我使用合并函数在 python 中合并 2 个数据帧时,行数会减少
- java - 找不到 [SaajSoapMessage 的端点映射,SOAP WS 执行期间出现异常
- android - 应用程序正在运行通知一直显示
- algorithm - ROS move_base D* (DStar) 路径规划算法实现
- android - 为什么?android:attr/textColorPrimary 在夜间模式通知中是黑色的?
- javascript - 删除选择器类 jquery
- github - Azure DevOps 管道找不到管道 YAML 文件