質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

4852閲覧

`UnityEngine.Component.collider' is obsolete: のエラー

退会済みユーザー

退会済みユーザー

総合スコア0

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2016/09/28 01:23

Assets/BasketController.cs(11,26): error CS0619: UnityEngine.Component.collider' is obsolete: Property collider has been deprecated. Use GetComponent<Collider>() instead. (UnityUpgradable)'とエラーが出ます。

using UnityEngine; using System.Collections; public class BasketController : MonoBehaviour { void OnTriggerEnter(Collider other){ if (other.gameObject.tag == "Apple") { Debug.Log ("Tag=Apple"); } else { Debug.Log ("Tag=Bomb"); } Destroy (collider.gameObject); } // Update is called once per frame void Update () { if(Input.GetMouseButtonDown(0)){ Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray,out hit,Mathf.Infinity)){ float x = Mathf.RoundToInt (hit.point.x); float z = Mathf.RoundToInt (hit.point.z); transform.position = new Vector3 (x, 0.0f, z); } } } }

のように該当コードを書きました。
調べていたら、Destroy (collider.gameObject);を書き換えなければならないようですが
どう書き換えたら良いのでしょうか?
3Dゲームです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

エラーメッセージは魔法の呪文ではなく、ただの英語です。まずはgoogle翻訳に投げてみてください。

「Property collider has been deprecated. Use GetComponent<Collider>() instead. (UnityUpgradable)'」

「プロパティ衝突型加速器は廃止されました。代わりにGetComponent <衝突>()を使用してください。」
衝突型加速器はcollider、<衝突>はColliderの事だとわかると思います。
つまり、
「プロパティcolliderは廃止されました。代わりにGetComponent <Collider>()を使用してください。」
となります。
colliderはなくなったらしいので、代わりにGetComponent <Collider>()を入れます。

Destroy (GetComponent<Collider>().gameObject); // 言われたとおり置き換えただけ

投稿2016/09/28 02:08

編集2016/09/28 02:09
ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

11行目の記述は、何をしたいかによって記述が変わります。

衝突してきたオブジェクトを消したいのであれば、
Destroy( other.gameObject );

衝突されたオブジェクトを消したいのあれば、
Destroy( this.gameObject );

衝突されたオブジェクトのColliderを消したいのであれば、
Destroy( this.GetComponent<Collider>() );

となります。

投稿2016/09/28 01:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問