私は、あるスピード(子供)の方向に動く一連のオブジェクトと、これらのオブジェクト(コントローラ)の速度を変更するオブジェクトを持っています。MonoManagerを使用しないUnityスクリプトの実行順序
コントローラが、すべての子どもの速度を子どもの動きに合わせて調整する場合、古いスピードで移動したものと新しいスピードで移動したものがあるため、間隔が不均一になります。
私はこの問題を編集 - >プロジェクト設定 - >スクリプト実行命令を使用してコントローラを子供の前で実行させることで解決できましたが、これは理想的ではないようです。この問題を解決する良い方法はありますか?
以下は、非常に単純な子スクリプトとコントローラスクリプトです。
// Child
public class MoveVertically
: MonoBehaviour
{
public float Speed;
void Update()
{
transform.Translate (Vector3.down * Time.deltaTime * Speed);
}
}
// Controller
public class MoveChildrenVertically
: MonoBehaviour
{
public float Speed;
MoveVertically[] children;
void Start()
{
children = GetComponentsInChildren<MoveVertically>();
}
void Update()
{
foreach (var symbol in symbols)
{
symbol.Speed = Speed;
}
}
}
この – Programmer
を行うための素晴らしい方法は、この(あまりにも偉大なリンクを!)行うための素晴らしい方法を同意して完全に解決しています私の問題 - ありがとう! – TVOHM