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

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

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

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

Q&A

解決済

2回答

18513閲覧

Unityでのあたり判定とあったら消えるスクリプト

dcuser879

総合スコア11

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

0グッド

0クリップ

投稿2018/04/07 05:24

あたり判定と当たったら消えるスクリプト

Unityであるものに弾(オブジェクト)をぶつけると両方消えるスクリプトが知りたいです。
また、別に弾が一定時間たったら消えるスクリプトもお願いします!

問題点

初心者なので、できれば細かく示してくれると助かります。

該当のソースコード

C#

試したこと

ネットでしばらく探してみましたが見つかりませんでした。

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

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

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

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

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

guest

回答2

0

すでに回答者がいますが、突っ込みたいので記載します。

まず、スクリプトを求めている時点で丸投げ(低評価対象)です。
質問する際はこちらを参考にしてください。

また、

ネットでしばらく探してみましたが見つかりませんでした。

とのことですが、ぶっちゃけ調べ方が悪いのでは、と思います。
初歩的なことなので、それについて書かれているページはたくさんあります。
「弾をぶつけると両方消えるスクリプト」と調べたから出てこなかったのかもしれませんが、

  • ぶつかったかどうかをチェックする
  • ぶつかった先が「あるもの」かどうかチェックする
  • 「あるもの」のゲームオブジェクトを取得する
  • ゲームオブジェクトを消す

という風に分ければ、調べられるはずです。
後は、調べた内容を組み合わせれば終わりです。

「弾が一定時間たったら消えるスクリプト」も

  • 一定時間待つ
  • ゲームオブジェクトを消す

で終わりなので、もっと簡単です。

最初は難しいかもしれませんが、プログラミングする上ではほぼ必須になってきますので、まずは自分で考えるようにしましょう。

投稿2018/04/07 07:43

fiveHundred

総合スコア9803

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

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

dcuser879

2018/04/13 07:12

とてもためになるアドバイスをありがとうございます。 次に質問をさせていただく際は注意して質問させていただきます。 貴重なお時間をありがとうございました。
guest

0

ベストアンサー

球にこのスクリプトをつけてその「あるもの」のタグの名前を入れればできると思います。

イメージ説明イメージ説明

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Hit_destroy: MonoBehaviour { 6 7 public string target_tag; 8 9 void OnCollisionEnter(Collision collision) 10 { 11 if (collision.gameObject.tag == target_tag) 12 { 13 Destroy(collision.gameObject); 14 Destroy(gameObject); 15 } 16 } 17 18}

一定時間たったら消えるスクリプト(球につけてください)

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Tama_destroy : MonoBehaviour 6{ 7 public float destroy_time; 8 9 private void Start() 10 { 11 Invoke("Destroy",destroy_time); 12 } 13 14 void Destroy() 15 { 16 Destroy(gameObject); 17 } 18}

投稿2018/04/07 06:57

編集2018/04/07 07:36
ryuuku

総合スコア34

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

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

dcuser879

2018/04/13 07:45 編集

回答ありがとうございます! あたったら消えるスクリプトは上手く動作したのですが、 下の一定時間で消えるスクリプトが ”The associated script can not be loaded, Please fix any compile errors and assign a valid script” というエラーを吐いてしまってどうすればいいかわかりません。 コンパイルエラー(言語変換での問題)のようですが成すすべがありません 時間があれアドバイスをお願いします。
ryuuku

2018/04/22 10:35

遅くなってすみません!もう解決してしまったかもしれませんが、 C#のファイル名とclass名が一致してないとそのエラーが出ます。 あとエラーが出たらそのエラーの英文を検索すると 解決方法が見つかったりしますよ!
dcuser879

2018/05/11 06:56

遅くなって申し訳ないです! 無事動作することができました!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問