モバイルをテストデバイスとして使用しているときに、私はOnTriggerEnterに少し問題があります。 タッチコードを使用して、画面上でオブジェクトをドラッグできます。 その後、オブジェクトを画面上の他のオブジェクトと衝突させています。携帯電話で動作していないプレハブとのUnity 2Dの衝突
これはオブジェクトをプレハブに変えるまで完全に機能していました。
私はまだ画面の周りを移動することができますが、もはやプレハブである他のオブジェクトと衝突しません。しかし、ユニティエディタでラップトップで実行しても、それでも問題はありません。
私のすべてのオブジェクトには、トリガーがチェックされた状態でそれらのオブジェクトにコライダーがあり、動くオブジェクトには剛体があります。トリガーで
はコード
public void OnTriggerEnter(Collider other)
{
Debug.Log ("here");
Debug.Log(this.gameObject.tag +"is this");
Debug.Log(other.gameObject.tag + "is other");
if (this.gameObject.tag == other.gameObject.tag)
{
Debug.Log("here2)");
Reftomanager.miniGameScore++;
Reftomanager.updateScore();
Destroy(this.gameObject);
}
}
タッチコード
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
switch(touch.phase)
{
case TouchPhase.Began:
Ray ray = Camera.main.ScreenPointToRay (touch.position);
if (Physics.Raycast(ray,out hit))
{
thisObject = hit.collider.gameObject;
touchPos = Camera.main.ScreenToWorldPoint (touch.position);
if(thisObject.name!="circle")
{
draggingMode = true;
}
}
break;
case TouchPhase.Moved:
if (draggingMode)
{
touchPos = Camera.main.ScreenToWorldPoint (touch.position);
newCentre = touchPos;
thisObject.transform.position = touchPos;
}
break;
case TouchPhase.Ended:
draggingMode = false;
break;
}
}
}
を入力Iは完全に任意のヘルプは素晴らしいだろうので困惑しています。
おかげで、あなたの使用して3Dコライダー以来
ありがとうRobert、インスタンス化時にZ値が変更されていたことが判明しました。手動で0に戻って変更しました:) –
うれしいことを聞いて助けてくれました! :) – Allen