質問編集履歴

1

記述不足で申し訳ありません\.\.\.ようは武器スクリプトが持つ攻撃力をプレイヤースクリプトがもつHPと引き算を実行したいのです!!

2017/05/23 08:20

投稿

neko990
neko990

スコア23

test CHANGED
File without changes
test CHANGED
@@ -8,13 +8,83 @@
8
8
 
9
9
  unityで敵オブジェクトに武器(enemyattack)を持たせてその武器に当たったらプレイヤーオブジェクトが持つint値Playerattackに武器の攻撃力が代入されてプレイヤーがもつint値HPにPlayerattackに代入された攻撃力の値に応じてHPの値が引かれていくというシンプルなコードを書いているのですが、武器オブジェクトを親にすれば以下のコードでうまく動作したのですが
10
10
 
11
+
12
+
13
+ プレイヤー側のスクリプトです↓↓この部分のコードは武器オブジェクトが親のままならうまくいきました。
14
+
11
15
  Playerattack = GameObject.Find("武器の名前").GetComponent<武器のスクリプト名>().enemyattack;
12
16
 
13
17
  HP = HP - Playerattack;
14
18
 
15
19
 
16
20
 
21
+
22
+
23
+
24
+
25
+
26
+
27
+ 武器側のスクリプトです
28
+
29
+
30
+
31
+ public int enemyattack;
32
+
33
+ // Use this for initialization
34
+
35
+ void Start()
36
+
37
+ {
38
+
39
+
40
+
41
+ }
42
+
43
+
44
+
45
+ // Update is called once per frame
46
+
47
+ void Update()
48
+
49
+ {
50
+
51
+
52
+
53
+ }
54
+
55
+
56
+
57
+ void OnTriggerEnter(Collider col)
58
+
59
+ {
60
+
61
+
62
+
63
+
64
+
65
+ if (col.gameObject.tag == "Player")
66
+
67
+ {
68
+
69
+ enemyattack = Random.Range(1, 20);
70
+
71
+ }
72
+
73
+ }
74
+
75
+
76
+
77
+
78
+
17
79
  武器オブジェクトを敵オブジェクトの子に設定したので以下の3つのコードに書き直して動作させたのですがどれもうまくプレイヤー側で受け取ることができません。
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+ 下記のスクリプトはプレイヤー側に持たせたのですがどれもうまくPlayerattackの値にenemyattackの値を代入することができませんでした。
18
88
 
19
89
 
20
90
 
@@ -27,3 +97,7 @@
27
97
 
28
98
 
29
99
  何かよい方法はないでしょうか?
100
+
101
+
102
+
103
+ 記述不足で申し訳ありません....