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

質問編集履歴

2

一部修正しました

2016/11/25 11:00

投稿

Gluek731
Gluek731

スコア26

title CHANGED
File without changes
body CHANGED
@@ -102,7 +102,7 @@
102
102
  /*ネットワーク設定用タスク*/
103
103
  /*ネットワークの設定*/
104
104
  /*自分のIPアドレス,ポート番号*/
105
- IPEndPoint ep = new IPEndPoint(IPAddress.Parse("172.29.9.140"), 8888);
105
+ IPEndPoint ep = new IPEndPoint(IPAddress.Parse("***.***.**.***"), 8888);
106
106
  TcpClient client = new TcpClient();
107
107
 
108
108
  /*サーバーに接続できたかの判定*/

1

具体例を出し、説明を多めにしました

2016/11/25 11:00

投稿

Gluek731
Gluek731

スコア26

title CHANGED
File without changes
body CHANGED
@@ -24,10 +24,13 @@
24
24
  public class testTCP : MonoBehaviour
25
25
  {
26
26
 
27
+ private bool Colorflg = true;
27
28
  private string Enemyflg = null;
29
+ private int Enemyflgs = 0;
28
30
  public GameObject myCube;
29
31
  public Sprite[] Dusts;
30
32
 
33
+
31
34
  private Thread TCP_Thread;
32
35
 
33
36
  private StreamReader sr; //受信?
@@ -49,6 +52,10 @@
49
52
  GameObject Hokori = GameObject.Find ("Hokori_Nomal");
50
53
  TCP_Thread = new Thread(threadWork);
51
54
  TCP_Thread.Start();
55
+
56
+
57
+
58
+
52
59
  }
53
60
 
54
61
  // Update is called once per frame
@@ -56,10 +63,32 @@
56
63
  {
57
64
  //SpriteRenderer renderer = gameObject.GetComponent<SpriteRenderer> ();
58
65
 
59
- Change c = GetComponent<Change>();
66
+ DustChange d= GetComponent<DustChange>();
67
+ HouseChange h = GetComponent<HouseChange>();
68
+ HokoriChange k = GetComponent<HokoriChange>();
60
69
 
61
- c.ChangeRoot(Enemyflg);
62
70
 
71
+ switch (Enemyflg) {
72
+ case "1":
73
+ d = GetComponent<DustChange>();
74
+ Debug.Log ("1が通ったよ");
75
+ Debug.Log (d);
76
+ //d.Dust_Change ();
77
+ break;
78
+ case "2":
79
+ Debug.Log ("2が通ったよ");
80
+ Debug.Log (h);
81
+ //h.House_Change ();
82
+ break;
83
+ case "3":
84
+ Debug.Log ("3が通ったよ");
85
+ Debug.Log (k);
86
+ //k.Hokori_Change ();
87
+ break;
88
+ default :
89
+ break;
90
+ }
91
+
63
92
  Enemyflg = null;
64
93
  }
65
94
 
@@ -124,88 +153,46 @@
124
153
  ```
125
154
 
126
155
 
127
- ↓画像を変えるscript↓
156
+ ↓画像を変えるscript。これがあと3種類あります
128
157
  ```C#
158
+
129
159
  using UnityEngine;
130
160
  using System.Collections;
131
161
 
132
- public class Change : MonoBehaviour {
162
+ public class HokoriChange : MonoBehaviour {
133
163
 
134
- public Sprite[] Dusts;
164
+ public Sprite[] Dust;
135
- Sprite[] image = Resources.LoadAll<Sprite>("picture/");
136
- SpriteRenderer spriteRenderer;
165
+ SpriteRenderer spriteRenderer;
137
166
 
138
167
  // Use this for initialization
139
168
  void Start () {
140
169
 
141
170
  }
142
171
 
172
+ public void Hokori_Change () {
143
- // Update is called once per frame
173
+ //Debug.Log (spriteRenderer);
174
+ Debug.Log ("HokoriChange通った");
175
+ spriteRenderer = gameObject.GetComponent<SpriteRenderer> ();
176
+ if (spriteRenderer.sprite == Dust [2]) {
144
- void Update () {
177
+ Destroy (gameObject);
145
-
178
+ }
146
-
179
+ if (spriteRenderer.sprite == Dust [1]) {
180
+ spriteRenderer.sprite = Dust [2];
181
+ }
182
+ if(spriteRenderer.sprite == Dust[0]){
183
+ spriteRenderer.sprite = Dust [1];
184
+ }
147
185
  }
186
+ }
148
187
 
149
- public void ChangeRoot(string str)
150
- {
188
+ ```
151
- spriteRenderer = gameObject.GetComponent<SpriteRenderer>();
152
- Debug.Log(spriteRenderer);
153
189
 
154
- switch (str)
155
- {
156
- case "1":
157
- if (spriteRenderer.sprite == image[2])
190
+ 1枚目のソースコードのUpdate部分で、外部からTCP/IP通信で受け取ったstring型の変数を使って、1,2,3という風にswitch文で分けています。
158
- {
159
- Destroy(gameObject);
160
- }
161
- if (spriteRenderer.sprite == image[1])
162
- {
163
- spriteRenderer.sprite = image[2];
164
- }
165
- if (spriteRenderer.sprite == image[0])
166
- {
167
- spriteRenderer.sprite = image[1];
168
191
 
169
- }
170
- break;
171
- case "2":
172
- if (spriteRenderer.sprite == image[5])
192
+ 何回かビルドを繰り返したのですが、1個しかうまく通らず、しかもビルドを通す度に毎回違う箇所が通ったり通らなかったりします。
173
- {
174
- Destroy(gameObject);
175
- }
176
- if (spriteRenderer.sprite == image[4])
177
- {
178
- spriteRenderer.sprite = image[5];
179
- }
180
- if (spriteRenderer.sprite == image[3])
181
- {
182
- spriteRenderer.sprite = image[4];
183
193
 
184
- }
185
- break;
186
- case "3":
187
- if (spriteRenderer.sprite == image[8])
194
+ これはコード側の問題なのか通信側で異常があるのか、今のところ手詰まりです。
188
- {
189
- Destroy(gameObject);
190
- }
191
- if (spriteRenderer.sprite == image[7])
192
- {
193
- spriteRenderer.sprite = image[8];
194
- }
195
- if (spriteRenderer.sprite == image[6])
196
- {
197
- spriteRenderer.sprite = image[7];
198
195
 
199
- }
200
- break;
201
- default:
196
+ 更に、DustChange d= GetComponent<DustChange>();という風に、外部で作ったスクリプトを宣言できるようにしているのですが、なぜか他の二つも通る時と通らないときがあって、もうさっぱりです。
202
- break;
203
- }
204
- }
205
- }
206
197
 
207
- ```
208
-
209
- testTCPのところで他スクリプトにあるChangeを呼び出して、画像を変えるという感じです。ですが、デバッグを通しても画像が切り替わらず、いまだ詰まってる状態です。
210
-
211
198
  だれか代案やアドバイスを頂けたら嬉しいです。