キャラクターが接触した長方形オブジェクトの
1.オブジェクト名
2.オブジェクトの幅、高さ
3.オブジェクトの座標
を取得したいと考えています。
この変数は、ロックマン仕様のはしごを再現する為に利用します。
該当のソースコード
C# キャラクターのスクリプト。オブジェクト接触判定部分
1void OnTriggerStay2D(Collider2D other) 2 { 3 if (other.gameObject.tag == "Ladder"){ladder = true;}//はしごオブジェクトに接触するとtrue 4 else if (other.gameObject.tag == "Stair"){stair = true;}//階段オブジェクトに接触するとtrue 5 6 objectName = other.name; 7 float width = gameObject.GetComponent<SpriteRenderer>().bounds.size.x; 8 print("width: " + width); 9 10 }
###問題点 試したこと
1.オブジェクト名
objectName = other.name;
"stringを暗黙的にstring[]に変換できません"というエラーが返ってきます。
2.オブジェクトの幅
float width = gameObject.GetComponent<SpriteRenderer>().bounds.size.x
取得できる幅情報は、キャラクターのスプライトサイズであり、目的とする長方形オブジェクトの幅ではありません。
3.オブジェクトの座標
Vector3 tmp = GameObject.Find(/*オブジェクト名*/).transform.position; GameObject.Find(/*オブジェクト名*/).transform.position = new Vector3(tmp.x + 100, tmp.y, tmp.z);
の様なやり方があるようですが、様々なエラーが出てうまく記述が出来ませんでした。
何か解決策があればご教示お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/26 09:53