###前提・実現したいこと
現在Unityを使い神経衰弱を作ろうとしています。
そのためにオブジェクトをクリックした際に一定の角度で回転するというものを作成していました。
適当なGameObjectを配置して実行した際にはクリックした際にオブジェクトが回転したので、
今度はソースコードでプレハブからオブジェクトを生成してそのオブジェクトをクリックした際に
回転できるかどうか試しました。
しかし、実行時にプレハブからクローンされたオブジェクトをクリックしても回転してくれませんでした。
###質問
どうすれば生成されたプレハブがクリックされたときに回転させることができるのでしょうか?
debug.logでオブジェクト名は取得できているので一応クリックできているのかなと思っています。
下記のソースコードは特定のオブジェクトがクリックされた際に回転するというだけのシンプルなものです。
よろしくお願いします。
###該当のソースコード
//プレハブのクローンの配置とクリックした際にrollメソッドを実行するtest.cs
public class test : MonoBehaviour {
// Update is called once per frame public float distance = 100f; public GameObject card; public GameObject prefab; void Start(){ //プレハブの生成 Instantiate(prefab);
}
void Update(){ rolltest c = card.GetComponent<rolltest>(); if (Input.GetMouseButtonDown(0)){ Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit, distance)){ string objectName = hit.collider.gameObject.name; //対象のオブジェクトを回転させるrollメソッド c.roll(); Debug.Log(objectName); } } }
}
//対象のオブジェクトをrollメソッドが呼ばれた際に回転させるrolltest.cs
public class rolltest : MonoBehaviour {
public void roll() {
iTween.RotateTo(gameObject, iTween.Hash("z", 180, "time", 4.0f));
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/26 02:09