回答編集履歴

1

追記

2018/12/17 13:59

投稿

YAmaGNZ
YAmaGNZ

スコア10258

test CHANGED
@@ -7,3 +7,59 @@
7
7
  recoveryが96 -> 97 -> 99 -> 101 -> 104と変化した場合、
8
8
 
9
9
  recovery/100は0 -> 0 -> 0 -> 1 -> 1と変化するので、0から1に変化した時にhealthを加算するということです。
10
+
11
+
12
+
13
+ こういう手もありかも
14
+
15
+ ```C#
16
+
17
+ //プレイヤーの体力 0で死亡
18
+
19
+ int health;
20
+
21
+
22
+
23
+ //点数のようなもの。例えば敵を倒せば1増え、ボスを倒せば5増えるなど。
24
+
25
+ int recovery;
26
+
27
+
28
+
29
+ //ポイント3の敵を倒したときに実行
30
+
31
+ void Killed3pointEnemy()
32
+
33
+ {
34
+
35
+ Recovery(3);
36
+
37
+ }
38
+
39
+
40
+
41
+ //recoveryの値を変更するときに呼び出す
42
+
43
+ void Recovery(int increase)
44
+
45
+ {
46
+
47
+ health += 50 * (((recovery + increase) / 100) - (recovery / 100));
48
+
49
+ recovery += Increase;
50
+
51
+
52
+
53
+ if(health <= 0)
54
+
55
+ {
56
+
57
+ Destory(this.gameObject);
58
+
59
+ }
60
+
61
+ }
62
+
63
+ ```
64
+
65
+ これなら、100以上増加しても対応できるかと思います。