質問編集履歴

2

勘違いしているかと思ったのが勘違いでした。引き続きよろしくお願いいたします。

2019/09/09 23:26

投稿

usagi3kaku
usagi3kaku

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,555 @@
1
- 大きく勘違いして部分に気づ一旦閉じま
2
-
3
- 考えてくださった方はませんでした
4
-
5
- また考えがまとまったら投稿します。
1
+ 以下の2つのスクリプト(①、②)をアタッチして、**移動方向に応じて歩行アニメを切り替えつつ自機を追従す敵**を作りたいのが、
2
+
3
+ ②での移動方向に応じ①の`nowMode(再生クリップ名を指定るstring)`を更新することがうくできません。
4
+
5
+
6
+
7
+ テストのために、「追従移動②」ではなく「キー入力による直接移動③」を用意し、①とセットで運用してみたのですが、
8
+
9
+ その場合は問題なく表示アニメが変更されました。
10
+
11
+
12
+
13
+ ②も③も、移動自体は**Update中に取得したVector座標をFixedUpdate時にRigidbodyのvelocityに代入して位置を更新する同じ仕組み**だと思うのですが、なぜか②の方では③と同じ様に機能しないのです。
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ - また、これ以下の事柄は上記の問題に関係あるのかわからず参考までに書きますが、プレイ時に①と②をアタッチしたオブジェクトがターゲットを追従する際、アニメは静止状態のままで座標移動だけが起きるのですが、その状態で障害物に引っかかって移動が停止(velocityが0まで減衰?)した際に、なぜかその移動方向の向きのアニメーションクリップの再生に切り替わります。
22
+
23
+ その後にまた仕切り直しと接近によって追従移動が始まっても、移動方向はやはり反映されず、引っかかった時に更新されたクリップのアニメのままで再生されつづけます。追従中に何かに引っかかって時に一度だけクリップが変更されるような挙動です。
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ 原因や解決方法がわかる方、ご教示をお願い致します。
32
+
33
+
34
+
35
+ ---
36
+
37
+
38
+
39
+ ######①:Mob_Anime_Setting(移動方向に応じて表示アニメを切り替えるクラス)
40
+
41
+
42
+
43
+
44
+
45
+ ```C#
46
+
47
+ public class Mob_Anime_Setting : MonoBehaviour
48
+
49
+ {
50
+
51
+
52
+
53
+ Rigidbody2D rigid2D;
54
+
55
+ Animator animator;
56
+
57
+
58
+
59
+
60
+
61
+ // GameObject gameObject;
62
+
63
+
64
+
65
+ public string nowMode;
66
+
67
+
68
+
69
+ public string upAnime;
70
+
71
+ public string downAnime;
72
+
73
+ public string rightAnime;
74
+
75
+ public string leftAnime;
76
+
77
+ public string down_stop;
78
+
79
+ public string up_stop;
80
+
81
+ public string right_stop;
82
+
83
+ public string left_stop;
84
+
85
+
86
+
87
+ public bool moving ;
88
+
89
+
90
+
91
+
92
+
93
+ public Vector3 pastpos;
94
+
95
+ public Vector3 nowpos;
96
+
97
+
98
+
99
+
100
+
101
+ void Start()
102
+
103
+ {
104
+
105
+ this.rigid2D = GetComponent<Rigidbody2D>();
106
+
107
+ this.animator = GetComponent<Animator>();
108
+
109
+ }
110
+
111
+
112
+
113
+ void Update ()
114
+
115
+ {
116
+
117
+
118
+
119
+ pastpos = nowpos;
120
+
121
+ nowpos = this.gameObject.transform.position;
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+ if (nowpos.x == pastpos.x)
132
+
133
+
134
+
135
+ {
136
+
137
+ if (nowpos.y > pastpos.y) { nowMode = upAnime; }
138
+
139
+ else if (nowpos.y < pastpos.y) { nowMode = downAnime; }
140
+
141
+ }
142
+
143
+
144
+
145
+ else if (nowpos.y == pastpos.y)
146
+
147
+ {
148
+
149
+ if (this.rigid2D.velocity.x > 0) { nowMode = rightAnime; }
150
+
151
+ else if (this.rigid2D.velocity.x < 0) { nowMode = leftAnime; }
152
+
153
+ }
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ if(rigid2D.velocity.x == 0 && rigid2D.velocity.y == 0)//ベロシティがゼロなら止まっている
162
+
163
+ { moving = false; }
164
+
165
+ else
166
+
167
+ { moving = true; }
168
+
169
+
170
+
171
+ }
172
+
173
+
174
+
175
+
176
+
177
+ public void FixedUpdate()
178
+
179
+ {
180
+
181
+ if (moving == false) { GetComponent<Animator>().speed = 0.0f; }
182
+
183
+ else { GetComponent<Animator>().speed = 1.0f; }
184
+
185
+
186
+
187
+ GetComponent<Animator>().Play(nowMode);
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ }
196
+
197
+ }
198
+
199
+ ```
200
+
201
+
202
+
203
+
204
+
205
+ ###### ②:MobChase_A(ターゲットオブジェクトを追従するクラス)
206
+
207
+
208
+
209
+
210
+
211
+ ```C#
212
+
213
+ public class MobChase_A : MonoBehaviour
214
+
215
+
216
+
217
+
218
+
219
+ {
220
+
221
+ public string targetObjectName;
222
+
223
+ public float speed = 1;
224
+
225
+ public bool LockOn;
226
+
227
+ public bool moving;
228
+
229
+
230
+
231
+ public Vector3 pastpos;
232
+
233
+ public Vector3 nowpos;
234
+
235
+
236
+
237
+
238
+
239
+ GameObject targetObject;
240
+
241
+ Rigidbody2D rbody; //「リジットボディ2D」型の変数「rbody」を用意
242
+
243
+
244
+
245
+ Mob_Anime_Setting animeSet;
246
+
247
+
248
+
249
+
250
+
251
+ void Start()
252
+
253
+ {
254
+
255
+ targetObject = GameObject.Find(targetObjectName); //目標オブジェクトを見つけておく
256
+
257
+
258
+
259
+ rbody = GetComponent<Rigidbody2D>(); //「rbody」にリジッドボディ2Dを搭載
260
+
261
+ animeSet = GetComponent<Mob_Anime_Setting>();
262
+
263
+ rbody.gravityScale = 0; //重力は0
264
+
265
+ rbody.constraints = RigidbodyConstraints2D.FreezeRotation; //衝突時に回転させない
266
+
267
+
268
+
269
+ LockOn = false;
270
+
271
+ }
272
+
273
+
274
+
275
+
276
+
277
+ void OnTriggerEnter2D(Collider2D collision)  
278
+
279
+ {
280
+
281
+ if (collision.gameObject.tag == "Player")  
282
+
283
+ { LockOn = true; }
284
+
285
+ }
286
+
287
+ //トリガーに入ったのが 、タグ「Player」のobjectの場合、ロックオンする。
288
+
289
+
290
+
291
+
292
+
293
+ void OnTriggerExit2D(Collider2D collision)
294
+
295
+ {
296
+
297
+ if (collision.gameObject.tag == "Player")
298
+
299
+ { LockOn = false; } 
300
+
301
+ }
302
+
303
+ //トリガーから出たのが 、タグ「Player」のobjectの場合、ロックオン解除
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+ void FixedUpdate()
312
+
313
+ {
314
+
315
+
316
+
317
+ if (LockOn == true) //ロックオンしてる時
318
+
319
+ {
320
+
321
+
322
+
323
+ Vector3 dir = (targetObject.transform.position - this.transform.position).normalized; //目標オブジェクトの方向をVector3で調べる
324
+
325
+
326
+
327
+ float vx = dir.x * speed;
328
+
329
+ float vy = dir.y * speed;
330
+
331
+ rbody.velocity = new Vector3(vx, vy); //取得したVector座標へむかって指定量で進む
332
+
333
+
334
+
335
+
336
+
337
+ pastpos = nowpos;
338
+
339
+ nowpos = this.gameObject.transform.position;
340
+
341
+
342
+
343
+
344
+
345
+ }
346
+
347
+ }
348
+
349
+
350
+
351
+
352
+
353
+   void Update()
354
+
355
+ {
356
+
357
+
358
+
359
+ if (nowpos.x == pastpos.x)
360
+
361
+
362
+
363
+ {
364
+
365
+ if (nowpos.y > pastpos.y) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().upAnime; }
366
+
367
+ else if (nowpos.y < pastpos.y) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().downAnime; }
368
+
369
+ }
370
+
371
+
372
+
373
+ else if (nowpos.y == pastpos.y)
374
+
375
+ {
376
+
377
+ if (this.rbody.velocity.x > 0) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().rightAnime; }
378
+
379
+ else if (this.rbody.velocity.x < 0) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().leftAnime; }
380
+
381
+ }
382
+
383
+
384
+
385
+
386
+
387
+ if (Input.GetKeyDown("space"))
388
+
389
+ {
390
+
391
+ LockOn = false;
392
+
393
+ }
394
+
395
+ }
396
+
397
+ }
398
+
399
+ ```
400
+
401
+
402
+
403
+ ###### ③:OnKeyPress_Move(キー入力の示す方向に移動を行うクラス)
404
+
405
+ ```C#
406
+
407
+ public class OnKeyPress_Move : MonoBehaviour
408
+
409
+ {
410
+
411
+   public float speed = 2;
412
+
413
+ public float vx = 0;
414
+
415
+ public float vy = 0;
416
+
417
+
418
+
419
+ Rigidbody2D rbody;
420
+
421
+ Walk_Anime_Setting animeSet;
422
+
423
+
424
+
425
+ void Start()
426
+
427
+ {
428
+
429
+ animeSet = GetComponent<Walk_Anime_Setting>();
430
+
431
+ rbody = GetComponent<Rigidbody2D>();
432
+
433
+ rbody.gravityScale = 0;
434
+
435
+ rbody.constraints = RigidbodyConstraints2D.FreezeRotation;
436
+
437
+ }
438
+
439
+
440
+
441
+
442
+
443
+ void Update()
444
+
445
+ {
446
+
447
+ vx = 0;
448
+
449
+ vy = 0;
450
+
451
+
452
+
453
+ if (Input.GetKey("right"))
454
+
455
+ {
456
+
457
+ vx = speed;
458
+
459
+
460
+
461
+ GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().rightAnime;
462
+
463
+ }
464
+
465
+
466
+
467
+ if (Input.GetKey("left"))
468
+
469
+ {
470
+
471
+ vx = -speed;
472
+
473
+
474
+
475
+ GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().leftAnime;}
476
+
477
+
478
+
479
+ if (Input.GetKey("up"))
480
+
481
+ {
482
+
483
+ vy = speed;
484
+
485
+
486
+
487
+ GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().upAnime;
488
+
489
+
490
+
491
+ }
492
+
493
+
494
+
495
+ if (Input.GetKey("down"))
496
+
497
+ {
498
+
499
+ vy = -speed;
500
+
501
+
502
+
503
+ GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().downAnime;
504
+
505
+
506
+
507
+ }
508
+
509
+
510
+
511
+ if (Input.GetKeyUp("right"))
512
+
513
+ { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().right_stopAnime; }
514
+
515
+
516
+
517
+ if (Input.GetKeyUp("left"))
518
+
519
+ { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().left_stopAnime; }
520
+
521
+
522
+
523
+ if (Input.GetKeyUp("up"))
524
+
525
+ { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().up_stopAnime; }
526
+
527
+
528
+
529
+ if (Input.GetKeyUp("down"))
530
+
531
+ { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().down_stopAnime; }
532
+
533
+
534
+
535
+
536
+
537
+ }
538
+
539
+ private void FixedUpdate()
540
+
541
+ {
542
+
543
+ {
544
+
545
+ rbody.velocity = new Vector2(vx, vy);
546
+
547
+ }
548
+
549
+ }
550
+
551
+ }
552
+
553
+
554
+
555
+ ```

1

根本的な見直し

2019/09/09 23:26

投稿

usagi3kaku
usagi3kaku

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,557 +1,5 @@
1
- 以下の2つのスクリプト(①、②)をアタッチして、**移動方向応じて歩行アニメを切り替えつつ自機を追従する敵**を作りが、
1
+ 大きく勘違いしている部分気づいたの一旦閉じま
2
2
 
3
- ②での移動向に応じて①の`nowMode(再生クリップ名を指定るstring)`を更新することがうくできません。
3
+ 見て考えてくださったませんでした
4
4
 
5
-
6
-
7
- テストのために、「追従移動②」ではなく「キー入力による直接移動③」を用意し、①とセットで運用してみたのですが、
8
-
9
- その場合は問題なく表示アニメが変更されました。
10
-
11
-
12
-
13
- ②も③も、移動自体は**Update中に取得したVector座標をFixedUpdate時にRigidbodyのvelocityに代入して位置を更新する同じ仕組み**だと思うのですが、なぜか②の方では③と同じ様に機能しないのです。
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
- - また、これ以下の事柄は上記の問題に関係あるのかわからず参考までに書きますが、プレイ時に①と②をアタッチしたオブジェクトがターゲットを追従する際、アニメは静止状態のままで座標移動だけが起きるのですが、その状態で障害物に引っかかって移動が停止(velocityが0まで減衰?)した際に、なぜかその移動方向の向きのアニメーションクリップの再生に切り替わります。
22
-
23
- その後にまた仕切り直しと接近によって追従移動が始まっても、移動方向はやはり反映されず、引っかかった時に更新されたクリップのアニメのままで再生されつづけます。追従中に何かに引っかかって時に一度だけクリップが変更されるような挙動です。
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
- 原因や解決方法わかる方、ご教示をお願い致します。
5
+ また考えまとまったら投稿します。
32
-
33
-
34
-
35
- ---
36
-
37
-
38
-
39
- ######①:Mob_Anime_Setting(移動方向に応じて表示アニメを切り替えるクラス)
40
-
41
-
42
-
43
-
44
-
45
- ```C#
46
-
47
- public class Mob_Anime_Setting : MonoBehaviour
48
-
49
- {
50
-
51
-
52
-
53
- Rigidbody2D rigid2D;
54
-
55
- Animator animator;
56
-
57
-
58
-
59
-
60
-
61
- // GameObject gameObject;
62
-
63
-
64
-
65
- public string nowMode;
66
-
67
-
68
-
69
- public string upAnime;
70
-
71
- public string downAnime;
72
-
73
- public string rightAnime;
74
-
75
- public string leftAnime;
76
-
77
- public string down_stop;
78
-
79
- public string up_stop;
80
-
81
- public string right_stop;
82
-
83
- public string left_stop;
84
-
85
-
86
-
87
- public bool moving ;
88
-
89
-
90
-
91
-
92
-
93
- public Vector3 pastpos;
94
-
95
- public Vector3 nowpos;
96
-
97
-
98
-
99
-
100
-
101
- void Start()
102
-
103
- {
104
-
105
- this.rigid2D = GetComponent<Rigidbody2D>();
106
-
107
- this.animator = GetComponent<Animator>();
108
-
109
- }
110
-
111
-
112
-
113
- void Update ()
114
-
115
- {
116
-
117
-
118
-
119
- pastpos = nowpos;
120
-
121
- nowpos = this.gameObject.transform.position;
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
- if (nowpos.x == pastpos.x)
132
-
133
-
134
-
135
- {
136
-
137
- if (nowpos.y > pastpos.y) { nowMode = upAnime; }
138
-
139
- else if (nowpos.y < pastpos.y) { nowMode = downAnime; }
140
-
141
- }
142
-
143
-
144
-
145
- else if (nowpos.y == pastpos.y)
146
-
147
- {
148
-
149
- if (this.rigid2D.velocity.x > 0) { nowMode = rightAnime; }
150
-
151
- else if (this.rigid2D.velocity.x < 0) { nowMode = leftAnime; }
152
-
153
- }
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
- if(rigid2D.velocity.x == 0 && rigid2D.velocity.y == 0)//ベロシティがゼロなら止まっている
162
-
163
- { moving = false; }
164
-
165
- else
166
-
167
- { moving = true; }
168
-
169
-
170
-
171
- }
172
-
173
-
174
-
175
-
176
-
177
- public void FixedUpdate()
178
-
179
- {
180
-
181
- if (moving == false) { GetComponent<Animator>().speed = 0.0f; }
182
-
183
- else { GetComponent<Animator>().speed = 1.0f; }
184
-
185
-
186
-
187
- GetComponent<Animator>().Play(nowMode);
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
- }
196
-
197
- }
198
-
199
- ```
200
-
201
-
202
-
203
-
204
-
205
- ###### ②:MobChase_A(ターゲットオブジェクトを追従するクラス)
206
-
207
-
208
-
209
-
210
-
211
- ```C#
212
-
213
- public class MobChase_A : MonoBehaviour
214
-
215
-
216
-
217
-
218
-
219
- {
220
-
221
- public string targetObjectName;
222
-
223
- public float speed = 1;
224
-
225
- public bool LockOn;
226
-
227
- public bool moving;
228
-
229
-
230
-
231
- public Vector3 pastpos;
232
-
233
- public Vector3 nowpos;
234
-
235
-
236
-
237
-
238
-
239
- GameObject targetObject;
240
-
241
- Rigidbody2D rbody; //「リジットボディ2D」型の変数「rbody」を用意
242
-
243
-
244
-
245
- Mob_Anime_Setting animeSet;
246
-
247
-
248
-
249
-
250
-
251
- void Start()
252
-
253
- {
254
-
255
- targetObject = GameObject.Find(targetObjectName); //目標オブジェクトを見つけておく
256
-
257
-
258
-
259
- rbody = GetComponent<Rigidbody2D>(); //「rbody」にリジッドボディ2Dを搭載
260
-
261
- animeSet = GetComponent<Mob_Anime_Setting>();
262
-
263
- rbody.gravityScale = 0; //重力は0
264
-
265
- rbody.constraints = RigidbodyConstraints2D.FreezeRotation; //衝突時に回転させない
266
-
267
-
268
-
269
- LockOn = false;
270
-
271
- }
272
-
273
-
274
-
275
-
276
-
277
- void OnTriggerEnter2D(Collider2D collision)  
278
-
279
- {
280
-
281
- if (collision.gameObject.tag == "Player")  
282
-
283
- { LockOn = true; }
284
-
285
- }
286
-
287
- //トリガーに入ったのが 、タグ「Player」のobjectの場合、ロックオンする。
288
-
289
-
290
-
291
-
292
-
293
- void OnTriggerExit2D(Collider2D collision)
294
-
295
- {
296
-
297
- if (collision.gameObject.tag == "Player")
298
-
299
- { LockOn = false; } 
300
-
301
- }
302
-
303
- //トリガーから出たのが 、タグ「Player」のobjectの場合、ロックオン解除
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
- void FixedUpdate()
312
-
313
- {
314
-
315
-
316
-
317
- if (LockOn == true) //ロックオンしてる時
318
-
319
- {
320
-
321
-
322
-
323
- Vector3 dir = (targetObject.transform.position - this.transform.position).normalized; //目標オブジェクトの方向をVector3で調べる
324
-
325
-
326
-
327
- float vx = dir.x * speed;
328
-
329
- float vy = dir.y * speed;
330
-
331
- rbody.velocity = new Vector3(vx, vy); //取得したVector座標へむかって指定量で進む
332
-
333
-
334
-
335
-
336
-
337
- pastpos = nowpos;
338
-
339
- nowpos = this.gameObject.transform.position;
340
-
341
-
342
-
343
-
344
-
345
- }
346
-
347
- }
348
-
349
-
350
-
351
-
352
-
353
-   void Update()
354
-
355
- {
356
-
357
-
358
-
359
- if (nowpos.x == pastpos.x)
360
-
361
-
362
-
363
- {
364
-
365
- if (nowpos.y > pastpos.y) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().upAnime; }
366
-
367
- else if (nowpos.y < pastpos.y) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().downAnime; }
368
-
369
- }
370
-
371
-
372
-
373
- else if (nowpos.y == pastpos.y)
374
-
375
- {
376
-
377
- if (this.rbody.velocity.x > 0) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().rightAnime; }
378
-
379
- else if (this.rbody.velocity.x < 0) { GetComponent<Mob_Anime_Setting>().nowMode = GetComponent<Mob_Anime_Setting>().leftAnime; }
380
-
381
- }
382
-
383
-
384
-
385
-
386
-
387
- if (Input.GetKeyDown("space"))
388
-
389
- {
390
-
391
- LockOn = false;
392
-
393
- }
394
-
395
- }
396
-
397
- }
398
-
399
- ```
400
-
401
-
402
-
403
- ###### ③:OnKeyPress_Move(キー入力の示す方向に移動を行うクラス)
404
-
405
- ```C#
406
-
407
- public class OnKeyPress_Move : MonoBehaviour
408
-
409
- {
410
-
411
-   public float speed = 2;
412
-
413
- public float vx = 0;
414
-
415
- public float vy = 0;
416
-
417
-
418
-
419
- Rigidbody2D rbody;
420
-
421
- Walk_Anime_Setting animeSet;
422
-
423
-
424
-
425
-
426
-
427
- void Start()
428
-
429
- {
430
-
431
- animeSet = GetComponent<Walk_Anime_Setting>();
432
-
433
- rbody = GetComponent<Rigidbody2D>();
434
-
435
- rbody.gravityScale = 0;
436
-
437
- rbody.constraints = RigidbodyConstraints2D.FreezeRotation;
438
-
439
- }
440
-
441
-
442
-
443
-
444
-
445
- void Update()
446
-
447
- {
448
-
449
- vx = 0;
450
-
451
- vy = 0;
452
-
453
-
454
-
455
- if (Input.GetKey("right"))
456
-
457
- {
458
-
459
- vx = speed;
460
-
461
-
462
-
463
- GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().rightAnime;
464
-
465
- }
466
-
467
-
468
-
469
- if (Input.GetKey("left"))
470
-
471
- {
472
-
473
- vx = -speed;
474
-
475
-
476
-
477
- GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().leftAnime;}
478
-
479
-
480
-
481
- if (Input.GetKey("up"))
482
-
483
- {
484
-
485
- vy = speed;
486
-
487
-
488
-
489
- GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().upAnime;
490
-
491
-
492
-
493
- }
494
-
495
-
496
-
497
- if (Input.GetKey("down"))
498
-
499
- {
500
-
501
- vy = -speed;
502
-
503
-
504
-
505
- GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().downAnime;
506
-
507
-
508
-
509
- }
510
-
511
-
512
-
513
- if (Input.GetKeyUp("right"))
514
-
515
- { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().right_stopAnime; }
516
-
517
-
518
-
519
- if (Input.GetKeyUp("left"))
520
-
521
- { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().left_stopAnime; }
522
-
523
-
524
-
525
- if (Input.GetKeyUp("up"))
526
-
527
- { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().up_stopAnime; }
528
-
529
-
530
-
531
- if (Input.GetKeyUp("down"))
532
-
533
- { GetComponent<Walk_Anime_Setting>().nowMode = GetComponent<Walk_Anime_Setting>().down_stopAnime; }
534
-
535
-
536
-
537
-
538
-
539
- }
540
-
541
- private void FixedUpdate()
542
-
543
- {
544
-
545
- {
546
-
547
- rbody.velocity = new Vector2(vx, vy);
548
-
549
- }
550
-
551
- }
552
-
553
- }
554
-
555
-
556
-
557
- ```