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

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

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

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

Q&A

0回答

1759閲覧

unity HPの初期化方法について

yoshiteru21

総合スコア44

Unity

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

0グッド

0クリップ

投稿2019/09/24 03:52

編集2019/09/24 04:11

敵にpublic flootを用いてInspectorでHPを設定できるようにし、HP=0になれば破壊するというスクリプトを作成しました。
破壊して、同じスクリプトを付けた敵を攻撃した際にHP=0のままのため、すぐに破壊されます。
HPをInspectorで設定した値に戻すにはどのようにすればよろしいのでしょうか?

Enemy_HPに値を設定しています。
こちらプレイヤーに付けているアクションのスクリプトの一部です。

void

1 { 2 //敵の時オブジェクトを破壊 3 if (col.gameObject.tag == "Enemy") 4 { 5 if (Action1) 6 { 7 enemy1script.Enemy_HP -= 10; 8 } 9 else if (Action2) 10 { 11 enemy1script.Enemy_HP -= 20; 12 } 13 14 if (enemy1script.Enemy_HP <= 0) 15 { 16 EnemyDestroy = true; 17 Debug.Log("damage"); 18 // Instantiate(explosion, col.gameObject.transform.position, col.gameObject.transform.rotation); 19 } 20 } 21 22 23 } 24コード

こちら破壊され、アイテムを出現させるスクリプトの一部です。

private

1 { 2 if(col.gameObject.tag == "UnityChan") 3 { 4 if(actionscript.EnemyDestroy == true) 5 { 6 // if (Random.Range(0, 1) == 0) 7 // { 8 Debug.Log("asaa"); 9 Instantiate(explosion, gameObject.transform.position, gameObject.transform.rotation); 10 Destroy(gameObject); 11 Instantiate(item, gameObject.transform.position, gameObject.transform.rotation); 12 if (ItemDrop == "Tue") 13 { 14 Tue = true; 15 } 16 else if (ItemDrop == "Soard") 17 { 18 Soard = true; 19 } 20 else if (ItemDrop == "Gun") 21 { 22 Gun = true; 23 } 24 actionscript.EnemyDestroy = false; 25// enemy1script.Enemy_HP = 100; 26 // } 27 } 28 29 } 30 } 31コード

まず、アクションのスクリプトにてHPを減らし、アイテムのスクリプトにて0以下になれば破壊、アイテムを出現させるというものです。
アイテムのスクリプトにてenemy1script.Enemy_HP=100;で無理やりHPを初期値に戻しましたが、こちらを
enemy1script.Enemy_HP=Inspectorで設定した値
にするにはどうすれば良いのでしょうか?

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

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

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

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

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

y_waiwai

2019/09/24 04:02

そこんところのコードの作りが悪いから、という回答になろうと思いますが、コードの提示がないとそれ以上は言えません。 コードの提示は、質門を編集し、<code>ボタンで、出てくる’’’の枠の中にコードを貼り付けてください
yoshiteru21

2019/09/24 04:11

すみませんでした。修正いたしました。
nskydiving

2019/09/24 05:31

Enemy_HP の定義はどうなっていますか?
yoshiteru21

2019/09/24 05:42

public floot Enemy_HP = 100です。
Hawn

2019/09/24 07:13 編集

問題点はenemy1script.Enemy_HPを共通で使用している事です。 enemy1scriptのクラスで定義されているEnemy_HPを「破壊され、アイテムを出現させるスクリプト」に移動させ、HPを個別に保持させれば新たに敵が生成された時に100で出現する筈です。 それをしない(出来ない)理由は有るのでしょうか?
yoshiteru21

2019/09/24 07:13

習いたてで使いまわせば良いのかなと思っていました(-_-;) なるほどですね!早速試してみたいと思います! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問