teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

画像を追加

2022/11/07 05:11

投稿

syosn938
syosn938

スコア4

title CHANGED
File without changes
body CHANGED
@@ -5,17 +5,17 @@
5
5
 
6
6
  <作成したいシステム全体の概要>
7
7
  UIのボタンをクリックした時に、人差し指の先の座標にオブジェクトを生成し、リストに座標値を格納する
8
- →他のシーンにおいて別のスクリプトから座標値を順次呼び出して再びオブジェクトを生成する
8
+ →他のシーン別のスクリプトから座標値を順次呼び出して再びオブジェクトを生成する
9
9
 
10
10
  ### 実現したいこと
11
11
  - 作成されたListを他のスクリプトで利用したい
12
-
12
+ ### ヒエラルキー、インスペクターの画像
13
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-07/c72ef408-368c-4f39-bb1f-e5ac3b7673d0.png)
13
14
  ### 発生している問題
14
15
  調べながら「試したこと」に記述したような変更をしてみたのですが、ここから他のスクリプトでどのように読み出せばよいのか分かりません。
15
16
  もしくはそもそも現段階で間違っていたらご指摘頂けますと幸いです。
16
17
 
17
- 追記:呼び出す側別のスクリプトでerror CS0426発生し、GetPosListが存在しないといわれてしいました。
18
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-04/bf768a36-8e71-4e91-a0dc-c5a344d0f290.png)
18
+ 追記:hogefugapiyo様コードを参考にさせて頂いたところ、CheckPos.cs[SerializeField] PositionList.r_index_finger_tip_marker;の最後のセミコロンに対してerror CS1519 Invalid token ';' in class, record, struct, or interface member declaration.ました。
19
19
  ### 該当のソースコード
20
20
 
21
21
  ```C#
@@ -57,10 +57,11 @@
57
57
  //CheckPos.cs
58
58
  public class CheckPos : MonoBehaviour
59
59
  {
60
+   [SerializeField] PositionList.r_index_finger_tip_marker;//error CS1519 発生場所
60
61
    public int i;
61
62
 
62
63
  pubilic void Check(){
63
- List<Vctor3> posListY = new PositionList.GetPosList();
64
+ List<Vctor3> posListY = r_index_finger_tip_marker.GetPosList();
64
65
 
65
66
  for(int i = 0; i < posListY.Count;i++){
66
67
  Debug.Log(posListY[i]);

4

情報の補足

2022/11/04 06:54

投稿

syosn938
syosn938

スコア4

title CHANGED
File without changes
body CHANGED
@@ -15,7 +15,7 @@
15
15
  もしくはそもそも現段階で間違っていたらご指摘頂けますと幸いです。
16
16
 
17
17
  追記:呼び出す側の別のスクリプトでerror CS0426が発生し、GetPosListが存在しないといわれてしまいました。
18
-
18
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-11-04/bf768a36-8e71-4e91-a0dc-c5a344d0f290.png)
19
19
  ### 該当のソースコード
20
20
 
21
21
  ```C#

3

情報の補足

2022/11/04 06:41

投稿

syosn938
syosn938

スコア4

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,7 @@
19
19
  ### 該当のソースコード
20
20
 
21
21
  ```C#
22
+ //PositionList.cs
22
23
  public class PositionList : MonoBehaviour
23
24
  {
24
25
  public GameObject obj;
@@ -53,6 +54,7 @@
53
54
  ### 試したこと
54
55
  ご提示いただいたコードを該当コードに追加し、呼び出す側の別のスクリプト内に下記の様に記述しました。
55
56
  ```C#
57
+ //CheckPos.cs
56
58
  public class CheckPos : MonoBehaviour
57
59
  {
58
60
    public int i;

2

情報不足のご指摘後、該当情報の追記を行った

2022/11/04 06:39

投稿

syosn938
syosn938

スコア4

title CHANGED
File without changes
body CHANGED
@@ -3,6 +3,10 @@
3
3
  スクリプトをまたいでのListの利用方法が分からず困っています。
4
4
  勉強中に身なのでつたない質問かと思いますがよろしくお願いします。
5
5
 
6
+ <作成したいシステム全体の概要>
7
+ UIのボタンをクリックした時に、人差し指の先の座標にオブジェクトを生成し、リストに座標値を格納する
8
+ →他のシーンにおいて別のスクリプトから座標値を順次呼び出して再びオブジェクトを生成する
9
+
6
10
  ### 実現したいこと
7
11
  - 作成されたListを他のスクリプトで利用したい
8
12
 
@@ -15,9 +19,15 @@
15
19
  ### 該当のソースコード
16
20
 
17
21
  ```C#
22
+ public class PositionList : MonoBehaviour
23
+ {
24
+ public GameObject obj;
25
+ public int n;
26
+ public int i;
27
+ List<Vector3> posList = new List<Vector3>();//ご提示頂いたコードを参考にBottonClickSetからこちらに移動
18
- public void ButtonClickSet()
28
+  public void ButtonClickSet()
19
29
  {
20
- List<Vector3> posList = new List<Vector3>();
30
+ //List<Vector3> posList = new List<Vector3>();
21
31
  for (i = 1; i < n; i++)
22
32
  {
23
33
  Transform myTransform = this.transform;
@@ -33,17 +43,27 @@
33
43
 
34
44
  }
35
45
    }
46
+  public List<Vector3> GetPosList()
47
+ {
48
+ return posList;
49
+ }
50
+ }
36
51
  ```
37
52
 
38
53
  ### 試したこと
39
54
  ご提示いただいたコードを該当コードに追加し、呼び出す側の別のスクリプト内に下記の様に記述しました。
40
55
  ```C#
56
+ public class CheckPos : MonoBehaviour
57
+ {
41
- pubilic void Check(){
58
+   public int i;
42
- List<Vctor3> posListY = new PositionList.GetPosList();
43
59
 
60
+ pubilic void Check(){
61
+ List<Vctor3> posListY = new PositionList.GetPosList();
62
+
44
- for(int i = 0; i < posListY.Count;i++){
63
+ for(int i = 0; i < posListY.Count;i++){
45
64
  Debug.Log(posListY[i]);
46
65
  }
66
+ }
47
67
  }
48
68
  ```
49
69
 

1

改善後の新たなエラーについて試したこと内に追記

2022/11/04 05:03

投稿

syosn938
syosn938

スコア4

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,9 @@
9
9
  ### 発生している問題
10
10
  調べながら「試したこと」に記述したような変更をしてみたのですが、ここから他のスクリプトでどのように読み出せばよいのか分かりません。
11
11
  もしくはそもそも現段階で間違っていたらご指摘頂けますと幸いです。
12
+
13
+ 追記:呼び出す側の別のスクリプトでerror CS0426が発生し、GetPosListが存在しないといわれてしまいました。
14
+
12
15
  ### 該当のソースコード
13
16
 
14
17
  ```C#
@@ -33,10 +36,16 @@
33
36
  ```
34
37
 
35
38
  ### 試したこと
39
+ ご提示いただいたコードを該当コードに追加し、呼び出す側の別のスクリプト内に下記の様に記述しました。
40
+ ```C#
41
+ pubilic void Check(){
42
+ List<Vctor3> posListY = new PositionList.GetPosList();
36
43
 
37
- 3行目をpublic List<Vector3> ButtonClickSet(List<Vector3> positionList)に変更
38
-
39
- for文を抜けた後にreturn positionList;を追加
44
+ for(int i = 0; i < posListY.Count;i++){
45
+ Debug.Log(posListY[i]);
46
+ }
47
+ }
48
+ ```
40
49
 
41
50
  ### 補足情報(FW/ツールのバージョンなど)
42
51