Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何向精灵动画添加自定义纹理_Ios_Iphone_Swift_Sprite Kit - Fatal编程技术网

Ios 如何向精灵动画添加自定义纹理

Ios 如何向精灵动画添加自定义纹理,ios,iphone,swift,sprite-kit,Ios,Iphone,Swift,Sprite Kit,这几天让我有些沮丧 我有一个run.atlas文件,显示我的游戏角色正在运行。我的游戏角色有一些复杂的形状,spriteKit无法很好地识别,因此character.physicsBody=SKPhysicsBody(纹理:characterTexture)无法正常工作,因为图形中有一些断开连接的元素 我试图在photoshop中制作角色的轮廓,并将其用作纹理,效果很好 let firstFrame = SKTexture(imageNamed: "run1Texture") stick

这几天让我有些沮丧

我有一个run.atlas文件,显示我的游戏角色正在运行。我的游戏角色有一些复杂的形状,spriteKit无法很好地识别,因此character.physicsBody=SKPhysicsBody(纹理:characterTexture)无法正常工作,因为图形中有一些断开连接的元素

我试图在photoshop中制作角色的轮廓,并将其用作纹理,效果很好

let firstFrame = SKTexture(imageNamed: "run1Texture")
    stickman = SKSpriteNode(imageNamed: "run1")
    stickman.physicsBody = SKPhysicsBody(texture: firstFrame, size: firstFrame.size())
正如您所看到的,我正在加载图像,但使用自定义帧作为主体

现在我需要一种方法来处理整个动画,即7帧。
如何在动画期间更改实体?或者有没有更好的方法呢?

一个物理体一旦被创造出来就不会改变自己。如果要更改/修改节点的物理体,必须先销毁它,然后创建一个新的物理体

我建议您尝试创建一个物理实体,它足以满足所有动画帧的需要,因为不断创建和销毁物理实体并不是一个有效的方法