オブジェクトがクリックされた際に、そのオブジェクトがアニメーションで回転するというスクリプトを書いています。
回転中はクリックを受け付けないようにしているのですが、
素早くダブルクリックをすると、回転が終了すると1回転してしまいます。
下記のようなスクリプトで実装しているのですが、発生原因がつかめず困っています。
お手数をおかけしますがどなたかご助言いただけないでしょうか。
■クリック検知しているスクリプト
function Update () {
if(Input.GetMouseButtonDown(0)){
var hit : RaycastHit;
var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray,hit,100)){
if(hit.collider.tag == "Object"){
if(!nowRotate){
nowRotate = true;
hit.transform.gameObject.SendMessage("Rotate");
}
}
}
}
}
■変数
nowRotate:回転中のフラグです。このフラグをtrueにして回転中に回転させないようにしています。falseにするタイミングは回転が終了したタイミングで、Animationから呼んだ別の関数で行っています。
■関数
Rotate:対象オブジェクトのAnimatorパラメータを変更しています。このパラメータがtrueになると回転するようにしています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/06 21:24 編集
2016/01/07 01:40
2016/01/12 19:16