質問編集履歴

5

2019/10/09 09:28

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -323,3 +323,13 @@
323
323
  https://imgur.com/flkVvzf.png
324
324
 
325
325
  https://imgur.com/qKi6B6y.png
326
+
327
+
328
+
329
+ ソースコードについてisDownまわりとアニメーション関連に絞りました。
330
+
331
+ もしこれでも不十分でしたら、マナー違反でないのならGitで管理しているプロジェクトをこの場に出すようなことをさせていただいてもよろしいでしょうか?
332
+
333
+ それはともかく、幾度もの不手際重ねてお詫び申し上げます。
334
+
335
+ どうぞご鞭撻のほどよろしくお願いいたします。

4

2019/10/09 09:28

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -34,6 +34,132 @@
34
34
 
35
35
  ```C#
36
36
 
37
+
38
+
39
+ Animator anim = null;
40
+
41
+ Animation anime;
42
+
43
+ private Rigidbody2D rb = null;
44
+
45
+ private string enemyTag = "Enemy";
46
+
47
+ SpriteRenderer sr;
48
+
49
+ private float dashTime;
50
+
51
+
52
+
53
+ void Start()
54
+
55
+ {
56
+
57
+ //コンポーネントのインスタンスを捕まえる
58
+
59
+ anim = GetComponent<Animator>();
60
+
61
+ anime = GetComponent<Animation>();
62
+
63
+ rb = GetComponent<Rigidbody2D>();
64
+
65
+ sr = GetComponent<SpriteRenderer>();
66
+
67
+
68
+
69
+ }
70
+
71
+
72
+
73
+ /// <summary>
74
+
75
+ /// X成分で必要な計算をし、速度を返す。
76
+
77
+ /// </summary>
78
+
79
+ /// <returns>The x.</returns>
80
+
81
+ private float SetX()
82
+
83
+ {
84
+
85
+ float xSpeed;
86
+
87
+ float horizontalKey = Input.GetAxis("Horizontal");
88
+
89
+
90
+
91
+ if (horizontalKey > 0)
92
+
93
+ {
94
+
95
+ transform.localScale = new Vector3(1, 1, 1);
96
+
97
+ isRun = true;
98
+
99
+
100
+
101
+ xSpeed = speed;
102
+
103
+ dashTime += Time.deltaTime;
104
+
105
+ }
106
+
107
+ else if (horizontalKey < 0)
108
+
109
+ {
110
+
111
+ transform.localScale = new Vector3(-1, 1, 1);
112
+
113
+ isRun = true;
114
+
115
+ xSpeed = -speed;
116
+
117
+ dashTime += Time.deltaTime;
118
+
119
+ }
120
+
121
+ else
122
+
123
+ {
124
+
125
+ isRun = false;
126
+
127
+ xSpeed = 0.0f;
128
+
129
+ dashTime = 0.0f;
130
+
131
+ }
132
+
133
+
134
+
135
+ if (horizontalKey > 0 && beforeKey < 0)
136
+
137
+ {
138
+
139
+ dashTime = 0.0f;
140
+
141
+ }
142
+
143
+ else if (horizontalKey < 0 && beforeKey > 0)
144
+
145
+ {
146
+
147
+ dashTime = 0.0f;
148
+
149
+ }
150
+
151
+
152
+
153
+ xSpeed *= dashCurve.Evaluate(dashTime);
154
+
155
+ beforeKey = horizontalKey;
156
+
157
+ return xSpeed;
158
+
159
+ }
160
+
161
+
162
+
37
163
  void OnCollisionEnter2D(Collision2D collision)
38
164
 
39
165
  {

3

2019/10/09 09:24

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
+ ```ここに言語を入力##
2
+
3
+ コード
4
+
1
- ### 前提・実現したいこと
5
+ ```### 前提・実現したいこと
2
6
 
3
7
 
4
8
 
@@ -175,3 +179,21 @@
175
179
  特にソースコードの外でUpdateやFixedUpdateで呼び出していたりはしません。
176
180
 
177
181
  すみません。
182
+
183
+
184
+
185
+ アニメーションの素材です
186
+
187
+ デフォルト、立って停止している状態
188
+
189
+ https://imgur.com/MlkXxpP.png
190
+
191
+ ダメージを受けた状態(isDown==trueの際にPlayしているもの)
192
+
193
+ https://imgur.com/MVzawhE.png
194
+
195
+ 歩きモーションです
196
+
197
+ https://imgur.com/flkVvzf.png
198
+
199
+ https://imgur.com/qKi6B6y.png

2

2019/10/09 09:17

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
File without changes

1

2019/10/09 07:18

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -153,3 +153,25 @@
153
153
  その他足りない情報などあれば随時付け足させていただくのでどうぞお申し付けください。
154
154
 
155
155
  よろしくお願いいたします。
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ 追記
164
+
165
+ DamageMotion()はフレームごとにisDownのif文で判定を行って実行されるものと認識していました。
166
+
167
+ Fixedやawakeやstartがつかない関数は全てupdateと同じ扱いになると聞いていたので。
168
+
169
+ もし違うのであれば、UpdateやFixedで別途呼び出したほうがよろしいのでしょうか。
170
+
171
+ 質問に質問で返す無知をお許しください。
172
+
173
+ 回答としてはUpdateと同じくフレームごとに呼び出されていると認識しているものの、もし違うのであれば呼び出せていませんということになります。
174
+
175
+ 特にソースコードの外でUpdateやFixedUpdateで呼び出していたりはしません。
176
+
177
+ すみません。