teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの追加

2019/07/12 07:00

投稿

bookspace
bookspace

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,93 @@
1
1
  Unityで自作のシューティングゲームを作っているのですがHPと弾の攻撃力を実装するためにはどういうようなプログラムをューティングゲームを作っているのですがHPと弾の攻撃力を実装するためにはどういうようなプログラムを書けばいいでしょうか?
2
2
 
3
+ 今のところ下記のようなプログラムを書いています
3
- 丸投げですいません
4
+ ```ここに言語を入力
5
+ using System.Collections;
6
+ using System.Collections.Generic;
7
+ using UnityEngine;
8
+
9
+ public class RockController : MonoBehaviour {
10
+
11
+ public int hp = 10;
12
+
13
+ public GameObject explosionPrefab;
14
+ float fallSpeed;
15
+ float rotSpeed;
16
+
17
+ // Use this for initialization
18
+ void Start () {
19
+ this.fallSpeed = 0.01f + 0.1f * Random.value;
20
+ this.rotSpeed = 5f + 3f * Random.value;
21
+
22
+ }
23
+
24
+ // Update is called once per frame
25
+ void Update () {
26
+ transform.Translate(-fallSpeed, 0, 0, Space.World);
27
+ transform.Rotate(0, 0, rotSpeed );
28
+
29
+ if (transform.position.x < -12f) {
30
+ Destroy (gameObject);
31
+ }
32
+ }
33
+
34
+ // 他のオブジェクトと衝突した時に呼び出される関数
35
+ private void OnTriggerEnter2D( Collider2D collision )
36
+ {
37
+ string yourTag = collision.gameObject.tag;
38
+
39
+
40
+ // 弾と衝突した場合
41
+ if ( yourTag == "bulletPrefab" )
42
+ {
43
+ // 弾を削除する
44
+ Destroy( collision.gameObject );
45
+ hp = hp - bulletPrefab.power;
46
+
47
+ if (hp <= 0)
48
+ {
49
+
50
+ // 敵を削除する
51
+ Destroy(gameObject);
52
+ }
53
+
54
+ }
55
+
56
+
57
+ // ロケットと衝突した場合
58
+ if ( collision.name.Contains( "rocket" ) )
59
+ {
60
+ // 弾を削除する
61
+ Destroy( collision.gameObject );
62
+
63
+
64
+ // 敵を削除する
65
+ Destroy(gameObject);
66
+ //GameObject.Find ("Canvas").GetComponent<UIController> ().GameOver ();
67
+ }
68
+ // ロケットと衝突した場合
69
+ if ( collision.name.Contains( "saport" ) )
70
+ {
71
+ // 弾を削除する
72
+ Destroy( collision.gameObject );
73
+
74
+ // 敵を削除する
75
+ Destroy( gameObject );
76
+ }
77
+ // ロケットと衝突した場合
78
+
79
+ {
80
+ if ( yourTag == "bomb" )
81
+ // 弾を削除する
82
+ Destroy( collision.gameObject );
83
+ // 敵を削除する
84
+ Destroy( gameObject );
85
+
86
+ //GameObject.Find ("Canvas").GetComponent<UIController> ().AddScore ();
87
+ }
88
+ Instantiate (explosionPrefab, transform.position, Quaternion.identity);
89
+ Destroy (gameObject);
90
+ }
91
+ }
92
+
93
+ ```