Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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 SKPhysicsBody是否具有自定义视图?_Ios_Sprite Kit_Uikit Dynamics - Fatal编程技术网

Ios SKPhysicsBody是否具有自定义视图?

Ios SKPhysicsBody是否具有自定义视图?,ios,sprite-kit,uikit-dynamics,Ios,Sprite Kit,Uikit Dynamics,使用UIDynamics可以很简单地让物理对象(称为动态项)使用协议uidynamicItem和三个属性中心、变换和边界来控制自定义视图(或您想要的任何内容)。我想对SpriteKit做一些类似的事情,但根据手册: 具体来说,我想让物理体控制一些向量图形,我目前在drawrect中有。我在这里追求两件事: 第一种方法是让矢量图形像任何其他节点一样四处移动 第二种方法是让位置、角度和其他属性更改某些控制点的精确位置 我相当肯定,我可以通过UIDynamics和动态项目来实现这一点,但那样的话,我

使用
UIDynamics
可以很简单地让物理对象(称为动态项)使用协议
uidynamicItem
和三个属性中心、变换和边界来控制自定义视图(或您想要的任何内容)。我想对SpriteKit做一些类似的事情,但根据手册:

具体来说,我想让物理体控制一些向量图形,我目前在drawrect中有。我在这里追求两件事:

  • 第一种方法是让矢量图形像任何其他节点一样四处移动
  • 第二种方法是让位置、角度和其他属性更改某些控制点的精确位置
  • 我相当肯定,我可以通过
    UIDynamics
    和动态项目来实现这一点,但那样的话,我就无法使用动作和其他漂亮的精灵工具包功能了

    似乎1也可以通过将路径转换为
    cgpaths
    并使用形状节点来处理,但这是有限的,不包括2


    有什么建议吗?

    要将UIView与精灵工具包节点同步,需要在视图和节点之间建立连接,并在每一帧从节点更新视图的位置(变换)、旋转和其他属性。重写didSimulatePhysics方法来执行此操作,根据需要将其从场景转发到目标节点(Kobold Kit使之变得简单)。注意UIView使用不同的坐标系,因此需要转换坐标。这只是原则,一个完整的解决方案,代码我没有时间使用atm。谢谢,听起来很有希望!您的解决方案是使用普通的SKNodes并在SKScene中进行转发,在SKScene中,节点可以是属性,也可以使用.name或类似名称进行定位,对吗?我想象可能会将SKNodes子类化并覆盖setCenter(或类似)并将其转发到我的自定义视图。如果它真的有效的话,你会说它的缺点是什么?