質問編集履歴

2

すみませんでした。画像を添付し忘れていました。

2019/01/09 06:02

投稿

jury
jury

スコア18

test CHANGED
File without changes
test CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  左下のUIが中央の青いオブジェクト(プレイヤー)を動かすジョイスティックで、右下のUIがプレイヤーから弾を発射させるボタンです。
12
12
 
13
+ ![イメージ説明](9e16fcaa951a4f4785318286e30f9faf.png)
14
+
15
+
16
+
13
17
  スティックで移動させながら弾を発射出来るようにしたのですが、発射ボタンを押すとタップ感知が反応してしまい、ジョイスティックが右側に持っていかれてしまいプレイヤーの挙動がおかしなことになってしまいます。
14
18
 
15
19
 

1

試してみたことを追記しました。

2019/01/09 06:02

投稿

jury
jury

スコア18

test CHANGED
File without changes
test CHANGED
@@ -14,15 +14,19 @@
14
14
 
15
15
 
16
16
 
17
- 移動や発射自体はそれぞれ問題無くうごくのですが、両立させる方法が中々思いつきません…
17
+ ~~移動や発射自体はそれぞれ問題無くうごくのですが、両立させる方法が中々思いつきません…
18
-
18
+
19
- もし何か良いアイディア等あればご教授頂ければと思います。
19
+ もし何か良いアイディア等あればご教授頂ければと思います。~~
20
+
21
+
22
+
20
-
23
+ **編集追記**
21
-
22
-
24
+
23
- 以下のコードは一つ目がジョイスティクにアタッチしてあスクリプト
25
+ 方法としてプ処理でタップでき箇所の範囲を制限する
24
-
26
+
25
- 二つ目が発射ボタンにアタッチしてあるスクリプトです。(buttonUIにスクリ入れてる感じです)
27
+ あるいはドラッグ中場合のタップを受け付けないといった物を思いついたのですが、
28
+
29
+ 上手く実装できません……
26
30
 
27
31
 
28
32
 
@@ -387,111 +391,3 @@
387
391
  }
388
392
 
389
393
  ```
390
-
391
-
392
-
393
- ```C#
394
-
395
- using System.Collections;
396
-
397
- using System.Collections.Generic;
398
-
399
- using UnityEngine;
400
-
401
-
402
-
403
-
404
-
405
- public class MovingCube : MonoBehaviour
406
-
407
- {
408
-
409
-
410
-
411
- //先ほど作成したJoystick
412
-
413
- [SerializeField]
414
-
415
- private Joystick _joystick = null;
416
-
417
-
418
-
419
- //移動速度(上下移動の速度)
420
-
421
- private const float SPEED = 0.8f;
422
-
423
- //移動速度(自動直進の速度変数)
424
-
425
- public float speed;
426
-
427
-
428
-
429
- //弾プレハブを格納する変数
430
-
431
- public GameObject beam;
432
-
433
- //弾の出る間隔を設定する変数
434
-
435
- float intervalTime;
436
-
437
- //次の弾が出るまでの時間
438
-
439
- public float nextTime;
440
-
441
-
442
-
443
- private void Start(){
444
-
445
- intervalTime = 0;
446
-
447
- nextTime = 0.1f;
448
-
449
- }
450
-
451
-
452
-
453
- private void Update()
454
-
455
- {
456
-
457
- Vector3 pos = transform.position;
458
-
459
-
460
-
461
- pos.z += speed;//プレイヤーが自動で前方に移動
462
-
463
- pos.x += _joystick.Position.x * SPEED;
464
-
465
- pos.y += _joystick.Position.y * SPEED;
466
-
467
-
468
-
469
- //最終的なプレイヤーの移動全般
470
-
471
- transform.position = pos;
472
-
473
-
474
-
475
- //弾間隔調整のために時間を増加
476
-
477
- intervalTime += Time.deltaTime;
478
-
479
- }
480
-
481
-
482
-
483
- public void BulletButton(){
484
-
485
- if (intervalTime >= nextTime) {
486
-
487
- intervalTime = 0.0f;
488
-
489
- Instantiate(beam, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
490
-
491
- }
492
-
493
- }
494
-
495
- }
496
-
497
- ```