回答編集履歴

3

スペルミス

2017/02/13 03:57

投稿

turbgraphics200
turbgraphics200

スコア4267

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  //あとステップごとのスプライトを配列として保持
16
16
 
17
- Splite[] stepSplites = new Sprite[] {nomalSplite, superSplite, hyperSplite};
17
+ Sprite[] stepSplites = new Sprite[] {nomalSplite, superSplite, hyperSplite};
18
18
 
19
19
 
20
20
 

2

てきにあ立った場合段階的に減らすのに対応。あとMin Max 対応

2017/02/13 03:57

投稿

turbgraphics200
turbgraphics200

スコア4267

test CHANGED
@@ -1,6 +1,6 @@
1
1
  コメントだとコード見づらくなるため回答に書きますが
2
2
 
3
- つまり、アイテムをとるたびにパワーアップするが、敵に当たるとリセットつまり初期の状態という感じと理解したけど間違ってたらゴメン
3
+ つまり、アイテムをとるたびにパワーアップするが、敵に当たると段階的にパワーダウンさせる。
4
4
 
5
5
  ステップを保持するものと各ステップごとのスプライトをクラスのメンバ変数として用意して、あとは、ステップと配列からMainSpriteRenderer.spriteにスプライトを設定する。
6
6
 
@@ -20,9 +20,9 @@
20
20
 
21
21
  void OnTriggerExit2D(Collider2D other) {
22
22
 
23
- if(other.tag == "item") step++; // アイテムならステップを増やす
23
+ if(other.tag == "item") step = Math.Min(1, step + 1); // アイテムならステップを増やす(Max 1)
24
24
 
25
- else if(other.tag == "Enemy") step = 0; // 敵に当たればリセ
25
+ else if(other.tag == "Enemy") step = Math.Max(0, step - 1); // 敵に当たれば逆にステプを減らす(Min 0)
26
26
 
27
27
  MainSpriteRenderer.sprite = stepSplites[step]; // ステップのスプライトを適用
28
28
 

1

クラスのメンバー変数定義は型をちゃんと指定しないとだめ

2017/02/13 03:55

投稿

turbgraphics200
turbgraphics200

スコア4267

test CHANGED
@@ -10,11 +10,11 @@
10
10
 
11
11
  // 現在どのステップかを保持
12
12
 
13
- var step = 0;
13
+ int step = 0;
14
14
 
15
15
  //あとステップごとのスプライトを配列として保持
16
16
 
17
- var stepSplites = new Sprite[] {nomalSplite, superSplite, hyperSplite};
17
+ Splite[] stepSplites = new Sprite[] {nomalSplite, superSplite, hyperSplite};
18
18
 
19
19
 
20
20