質問編集履歴
5
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
**②Item_StopCube()メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したいが方法がわからない(処理が正常に完了していることを把握したい)**
|
22
22
|
GameObjectFind、GetComponent、Photon.IsMineあたりを使って実現できそうな気がするのですが、どうもうまくいきません。
|
23
|
-
(仮
|
23
|
+
(仮に、ボタンではなく、キャラ側からボタンを削除しに行く場合、ボタンは複数個生成されるので、押されたボタンのみをFindして削除する必要がありますが、その実現方法が分かりません。現在はボタンにアタッチされているItemBreakスクリプトから消しにいっていますが、そのスクリプト側はItem_StopCube()の処理が完了していることを判断出来ていません)
|
24
24
|
|
25
25
|
**■コード**
|
26
26
|
```ここに言語を入力
|
4
追記補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
StandardAssetsのジョイスティック(ボタン)機能を使って操作、ボタン入力をしております。
|
4
4
|
ボタン入力とメソッドの実行、ボタンの削除の処理がうまくいきません。
|
5
5
|
|
6
|
+
お忙しい所恐縮ですが、何卒どうか宜しくお願いいたします。
|
7
|
+
|
6
8
|
**■やりたいこと**
|
7
9
|
ボタンを押すと、キャラに付いているUnityChanスクリプトのItem_StopCube()メソッドが実行され、その後にボタンに付いているItemBreakスクリプトのBreak()が呼ばれボタンが消える。
|
8
10
|
|
@@ -18,7 +20,7 @@
|
|
18
20
|
|
19
21
|
**②Item_StopCube()メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したいが方法がわからない(処理が正常に完了していることを把握したい)**
|
20
22
|
GameObjectFind、GetComponent、Photon.IsMineあたりを使って実現できそうな気がするのですが、どうもうまくいきません。
|
21
|
-
(仮に、ボタンではなく、キャラ側からボタンを削除しに行く場合、ボタンは複数個生成されるので、押されたボタンのみをFindして削除する必要がありますが、その実現方法が分かりません。現在はボタンにアタッチされているItemBreakスクリプトから消しにいっていますが、そのスクリプト側はItem_StopCube()の処理が完了していることを判断出来ていません)
|
23
|
+
(仮**ボールドテキスト**に、ボタンではなく、キャラ側からボタンを削除しに行く場合、ボタンは複数個生成されるので、押されたボタンのみをFindして削除する必要がありますが、その実現方法が分かりません。現在はボタンにアタッチされているItemBreakスクリプトから消しにいっていますが、そのスクリプト側はItem_StopCube()の処理が完了していることを判断出来ていません)
|
22
24
|
|
23
25
|
**■コード**
|
24
26
|
```ここに言語を入力
|
@@ -47,7 +49,7 @@
|
|
47
49
|
|
48
50
|
```
|
49
51
|
|
50
|
-
■スクリーンショット
|
52
|
+
**■スクリーンショット**
|
51
53
|
ボタンを押す
|
52
54
|

|
53
55
|
|
3
追記補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
可能であれば、この反応の悪さを改善したいです。
|
17
17
|
**※難しければ②だけでも構いません。(最悪、スマホ版は反応が良いため)※**
|
18
18
|
|
19
|
-
**②Item_StopCube()メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したい(処理が正常に完了していることを把握したい)**
|
19
|
+
**②Item_StopCube()メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したいが方法がわからない(処理が正常に完了していることを把握したい)**
|
20
20
|
GameObjectFind、GetComponent、Photon.IsMineあたりを使って実現できそうな気がするのですが、どうもうまくいきません。
|
21
21
|
(仮に、ボタンではなく、キャラ側からボタンを削除しに行く場合、ボタンは複数個生成されるので、押されたボタンのみをFindして削除する必要がありますが、その実現方法が分かりません。現在はボタンにアタッチされているItemBreakスクリプトから消しにいっていますが、そのスクリプト側はItem_StopCube()の処理が完了していることを判断出来ていません)
|
22
22
|
|
2
追記補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,30 +7,31 @@
|
|
7
7
|
ボタンを押すと、キャラに付いているUnityChanスクリプトのItem_StopCube()メソッドが実行され、その後にボタンに付いているItemBreakスクリプトのBreak()が呼ばれボタンが消える。
|
8
8
|
|
9
9
|
**■躓いているところ**
|
10
|
-
①入力の反応が悪い
|
10
|
+
**①入力の反応が悪い**
|
11
11
|
Item_StopCube()メソッドが実行されず、先にボタンが消える場合があります。
|
12
12
|
まれにメソッドが正常に実行されるときもあります。
|
13
13
|
どうやら、StandardAssetsのジョイスティック機能を使ったボタン入力処理の反応が悪そうです。
|
14
14
|
(スマホ上よりPC上のほうが反応が悪く、数クリックで1回の認識)
|
15
|
+
なお、先にBreak()が呼ばれているのが原因かと考え、Break()を消して呼ばないパターンを試したところ、やはりメソッドがたまにしか呼ばれないので、クリックした際の反応が悪いです。
|
15
16
|
可能であれば、この反応の悪さを改善したいです。
|
16
|
-
難しければ②だけでも構いません。
|
17
|
+
**※難しければ②だけでも構いません。(最悪、スマホ版は反応が良いため)※**
|
17
18
|
|
18
|
-
②メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したい(処理が正常に完了していることを把握したい)
|
19
|
+
**②Item_StopCube()メソッドの処理を確実に行ったあとに、ItemBreak()を呼び出してボタンを消したい(処理が正常に完了していることを把握したい)**
|
19
|
-
|
20
|
+
GameObjectFind、GetComponent、Photon.IsMineあたりを使って実現できそうな気がするのですが、どうもうまくいきません。
|
20
21
|
(仮に、ボタンではなく、キャラ側からボタンを削除しに行く場合、ボタンは複数個生成されるので、押されたボタンのみをFindして削除する必要がありますが、その実現方法が分かりません。現在はボタンにアタッチされているItemBreakスクリプトから消しにいっていますが、そのスクリプト側はItem_StopCube()の処理が完了していることを判断出来ていません)
|
21
22
|
|
22
23
|
**■コード**
|
23
24
|
```ここに言語を入力
|
24
|
-
【UnityChanControlScriptWithRgidBody.cs】
|
25
|
+
【UnityChanControlScriptWithRgidBody.cs】※一部省略
|
25
26
|
|
26
27
|
//StandardAssetsを使ったボタン入力
|
27
28
|
if (CrossPlatformInputManager.GetButtonDown("ItemIcon_StopCube"))
|
28
29
|
{
|
29
30
|
Debug.Log("ItemIcon_StopCubeのメソッドを呼び出す");
|
30
|
-
Item_StopCube();//生成処理 ★こちらがなかなか呼び出されない ボタンの反応が悪い
|
31
|
+
Item_StopCube();//生成処理 ★①こちらがなかなか呼び出されない ボタン自体の反応が悪い
|
31
32
|
}
|
32
33
|
|
33
|
-
【ItemBreak.cs】
|
34
|
+
【ItemBreak.cs】※一部省略
|
34
35
|
using System.Collections;
|
35
36
|
using System.Collections.Generic;
|
36
37
|
using UnityEngine;
|
@@ -39,7 +40,7 @@
|
|
39
40
|
{
|
40
41
|
public void Break()
|
41
42
|
{
|
42
|
-
Destroy(this.gameObject);
|
43
|
+
Destroy(this.gameObject); //★②Item_StopCube()の処理が確実に出来てから、これを実行したい
|
43
44
|
}
|
44
45
|
|
45
46
|
}
|
@@ -50,5 +51,5 @@
|
|
50
51
|
ボタンを押す
|
51
52
|

|
52
53
|
|
53
|
-
StandardAssetsのジョイスティック機能を使ったボタンの処理の反応が悪く、Break()のみ実行されてしまう。成功する場合もある。
|
54
|
+
StandardAssetsのジョイスティック機能を使ったボタンの処理の反応が悪く、Break()のみ実行されてしまう。メソッドの呼び出しに成功する場合もある。
|
54
55
|

|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
**■概要**
|
2
2
|
UnityとPhotonを使ってオンラインアクションゲームを作成しております。
|
3
|
-
StandardAssetsの機能を使って操作、ボタン入力をしております。
|
3
|
+
StandardAssetsのジョイスティック(ボタン)機能を使って操作、ボタン入力をしております。
|
4
4
|
ボタン入力とメソッドの実行、ボタンの削除の処理がうまくいきません。
|
5
5
|
|
6
6
|
**■やりたいこと**
|
@@ -50,5 +50,5 @@
|
|
50
50
|
ボタンを押す
|
51
51
|

|
52
52
|
|
53
|
-
StandardAssets
|
53
|
+
StandardAssetsのジョイスティック機能を使ったボタンの処理の反応が悪く、Break()のみ実行されてしまう。成功する場合もある。
|
54
54
|

|