例えば、敵機が右に移動しながら5msごとに弾を撃つゲームがあるとします。
その処理を書くと以下のようになると思うのですが...
C#
1using UnityEngine; 2 3public class Enemy : MonoBehaviour 4{ 5 public GameObject bullet; 6 float t; 7 8 void Update() 9 { 10 transform.position += Vector3.right; 11 t += Time.deltaTime; 12 if(t >= 0.05f) 13 { 14 Instantiate(bullet); 15 t = 0; 16 } 17 } 18}
このゲームが60fpsで動作していた場合、Updateは16msごとに呼ばれるので、5msごとに弾を敵機のフレーム間の移動を考慮しながら撃つ事が出来ません。
この問題の良い解決方法はないですか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/24 03:03
2018/08/24 06:09
2018/08/24 11:59 編集
2018/08/26 05:10
2018/08/28 13:00
2018/08/28 13:17