簡體   English   中英

SKPhysicsBody的.dynamic屬性

[英]SKPhysicsBody's .dynamic Property

我有一個矩形節點(具有矩形物理實體),正在執行重復的SKAction來移動。 我已經讀過,對具有物理物體的對象執行操作會導致問題,因此,如果將節點的物理物體設置為.dynamic = false ,是否可以使用SKAction進行移動而不引起問題? 是否還有其他考慮因素,例如設置.isAffectedByGravity = false.dynamic = false屬性是否覆蓋所有其他物理屬性?

如果您的Sprite是.dynamic,則所有物理屬性都會對其產生影響。 話雖如此,您仍然可以使用SKActions來移動它。 如果.dynamic = false,則所有物理屬性都將被覆蓋,並且不會對您的Sprite起作用。

官方文件所述

動態屬性控制基於體積的物體是否受到重力,摩擦,與其他對象的碰撞以及直接施加到該對象的力或脈沖的影響

也在這里

一個布爾值,指示物理模擬是否移動了物理主體。

默認值為true 如果該值是錯誤的,則物理主體將忽略施加到其上的所有力和脈沖。 基於邊緣的實體將忽略此屬性; 它們是自動靜態的。

顯然,如果您准備將SKAction移至x所涉及的對象(將其推到另一側或同一側)的SKAction移到x位置,則在速度,方向以及通常由SKAction施加的附加力+物理世界中存在的物理力。 因此答案是:是的,您可能會引起一些問題。 最好在涉及物理定律的情況下使用applyImpulse速度或其他方法來控制動態對象。

關於最后一個問題:

是否還有其他考慮因素,例如設置.isAffectedByGravity = false或.dynamic = false屬性是否覆蓋所有其他物理屬性?

我認為說“覆蓋”一詞是錯誤的:在定義affectedByGravity的重力時,您設置的力會影響身體,同一件事可能與dynamic有關,而質量,密度,面積,摩擦等其他參數都是屬性(特性)。本身帶來的)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM