お世話になっております。
Unity初心者です。
Unity2019 2Dにて、十字キーを使用してオブジェクトを移動するテストプログラムを作成しました。
実行ボタンで実行し、十字キーを適当に押して動作確認していたのですが、10秒ほど動かしていると、オブジェクトが突然画面から消えてしまいました。
オブジェクトが画面外に出ているかを検知する処理を入れてみたところ、画面外に出ていると検知されてしまっているようです。
画面のほぼ中心で動かしていたため、カメラ外に出ているとは考えられません。
開発環境は下記になります。
・Windows10
・Unity 2019.3.0a8 Personal
ソースコードは下記になります。
[PlayerController.cs]
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEditor; 5 6public class PlayerController : MonoBehaviour 7{ 8 9 GameObject player; 10 11 // Start is called before the first frame update 12 void Start() 13 { 14 this.player = GameObject.Find("player"); 15 } 16 17 // Update is called once per frame 18 void Update() 19 { 20 21 //オブジェクトが画面外がどうかを判別する。 22 if (!GetComponent<SpriteRenderer>().isVisible) 23 { 24 Debug.Log("画面外"); 25 } 26 27 28 this.player = GameObject.Find("player"); 29 int Key = 0; 30 if(Input.GetKey(KeyCode.RightArrow)) 31 { 32 Debug.Log("Right"); 33 transform.Translate(0.1f,0,1); 34 Key = 1; 35 } 36 if(Input.GetKey(KeyCode.LeftArrow)) 37 { 38 Debug.Log("Left"); 39 transform.Translate(-0.1f,0,1); 40 41 Key = -1; 42 } 43 if(Input.GetKey(KeyCode.UpArrow)) 44 { 45 Debug.Log("Up"); 46 transform.Translate(0,0.1f,1); 47 } 48 if(Input.GetKey(KeyCode.DownArrow)) 49 { 50 Debug.Log("Down"); 51 transform.Translate(0,-0.1f,1); 52 } 53 54 //オブジェクトを反転させる 55 if(Key != 0) 56 { 57 transform.localScale = new Vector3(Key,1,1); 58 } 59 60 } 61} 62 63 64以上、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/15 11:11
2019/08/15 11:15