- 99 名前:名前は開発中のものです。 mailto:sage [2014/11/05(水) 02:02:42.76 ID:Xo+vLE1P]
- 途中送信してしまいましたすいません。
このAの範囲に入っているか判別する処理にOverlaAreaAllやRayCastを使用してみたのですが ---- 格納されるはずのCollider2Dの配列にnullしか入っていません。nullを返されたのか、宣言したまま使われずにnullなのかはわかりませんが Physics2Dがグローバル変数も持ってることから、個々のオブジェクトにアタッチ出来ないのではないかと見ています。 Physics2Dを使わずに範囲内のコライダーを特定する方法、またはいまアタッチしているコードでおかしいところがありましたらご指摘お願いします... public Collider2D[] hits; public Vector2 pointA; public Vector2 pointB; public int index; public int lessIndex; void Start(){ pointA = new Vector2 (gameObject.transform.position.x+5.25f,7f); pointB = new Vector2 (gameObject.transform.position.x-5.25f,-7f); Physics2D.raycastsHitTriggers = true; } void Update(){ Physics2D.OverlapAreaNonAlloc(pointA,pointB,hits); index = hits.Length; if (index <= 0) return; else if(index > 0){ lessIndex = 0; for(int i = 1; i< index; i++){ if(hits[lessIndex].collider.GetComponent<Script>().myposition() > hits[i].collider.GetComponent<Script>().myposition()){ lessIndex = i; } } hits[lessIndex].collider.GetComponent<Note>().Dest(); } }
|

|