[2023.11.23] Unityを始めてみる(5) - 動くオブジェクトに苦戦
チュートリアルで作ったゲームに、障害物として動くオブジェクトを配置する、というのをやってみる。
参考にしたサイトはコレ。
まぁ難なくできた。
コードは参考サイトと全く同じではなく、自分オリジナルの箇所も入れたりした。
ところがすぐに問題が発生した。
先ほど作った障害物を複製し、何個か置いてみたところ、動きが小刻みになってしまったのだ。
全てに同じスクリプトがセットされているので、同じ変数を同時に更新してしまっているのだろう。
…さてどうしたものか。
それぞれに別のスクリプトをセットすれば独立して動くはずだが、そんなダサいことはしたくない。
1つのスクリプトでそれぞれを独立して動かすやり方が、きっとあるはずだ。
しかし、Unityもc#も初心者の自分にはちょっと検討がつかない。
とりあえず「参考サイトの人が自分と同じ問題にブチ当たれば、改善策も出るだろう」と期待して、動画を見進めてみることにした。
すると、複数配置している動画が見つかった。
でもバグってない…なんでだ…
自分のコードと見比べてみる。
…
……
なるほど、自分のソースでは変数宣言にstaticを付けてしまっていた。
複数のオブジェクトから呼ばれるときの変数の寿命の感覚が、どうにもまだ掴めてないな…
staticを消したら直った。
ヤッホイ。
でもアレだな、それぞれの動きをズラしたいな。
鳥が走るスピードに合わせてギリギリ通れる感じにしたい。
ズラシが次の課題か…
この記事が気に入ったらサポートをしてみませんか?