題名の通りです。
Prefab化した弾に以下のようなスクリプトを貼り付けたいのですが(一部省略)
C#
1public bool penetration; //真なら貫通 2 3private void OnTriggerEnter2D(Collider2D other) 4 { 5 if (!other.tag == "Enemy" && !penetration) 6 { 7 Destroy(gameObject); //Enemy以外に当たったら破壊したい 8 } 9 }
否定の演算子がstring型のオペラント(other.tag == "Enemy")に適用できないようで、エラーが出てしまいます。
そこで逆に考えて、壁に当たったときのみ、弾を破壊するコードを書こうとしましたが、
Tilemapで作った小部屋をスクリプトで自動的に並べてマップを作っているので自分の知識では難しいです。
(タグやレイヤーをつけると壁と床両方についてしまう)
スマートな解決方法はないでしょうか?
ちなみにTilemapには、
Tilemap Collider 2D
Rigidbody 2D(Kinematic)
Composite Collider 2Dをつけてます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。