質問編集履歴

11

誤字

2020/06/27 16:02

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -350,7 +350,15 @@
350
350
 
351
351
  ```
352
352
 
353
+
354
+
355
+ コード全体の解釈としてはボタンコンポーネントのインスペクタを改造して、さらにFindSelectableOnLeft(Right)メソッドが返す値をオーバーライドでこちらの任意のものに指定しているというような感じでしょうか?
356
+
357
+
358
+
359
+
360
+
353
- こちらのHorizontalExplicitNavigationButtonEditorクラスについてですが、カスタムエディタのためのスクリプトであるということが調べた結果わかりました。
361
+ また、こちらのHorizontalExplicitNavigationButtonEditorクラスについてですが、カスタムエディタのためのスクリプトであるということが調べた結果わかりました。
354
362
 
355
363
  そして多くの場合別々のCSファイルに収めているようでしたが、今回はこのままの形で一つのファイルにしていてよろしいのでしょうか?
356
364
 

10

コードの間違いを訂正

2020/06/27 16:02

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -328,13 +328,13 @@
328
328
 
329
329
  base.OnEnable();
330
330
 
331
- //Objectが有効になったら、UIが表示されたら起動
331
+ //Objectが有効になったら起動
332
332
 
333
333
  this.selectOnLeftProperty = this.serializedObject.FindProperty("selectOnLeft");
334
334
 
335
335
  this.selectOnRightProperty = this.serializedObject.FindProperty("selectOnRight");
336
336
 
337
-
337
+      //UIに表示されるプロパティにselectOnLeftとRightとして選択されたものを入れる?
338
338
 
339
339
  }
340
340
 

9

誤字修正

2020/06/27 15:20

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -355,13 +355,3 @@
355
355
  そして多くの場合別々のCSファイルに収めているようでしたが、今回はこのままの形で一つのファイルにしていてよろしいのでしょうか?
356
356
 
357
357
  暗黙の了解で省いたということでしたら無知をお詫びいたします。
358
-
359
-
360
-
361
- ![エラー](df6028eba7b68322ea8778ef16bd2082.png)
362
-
363
- それからフィールドに設定したものを参照している(thisで修飾もしてある)変数になぜかあいまいのエラーが出てしまいました。
364
-
365
- 申し訳ありませんが解決のためにお力添えいただけませんでしょうか。
366
-
367
- お手間をおかけします。

8

コードの間違いを訂正

2020/06/27 15:15

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -350,7 +350,7 @@
350
350
 
351
351
  ```
352
352
 
353
- また、こちらのHorizontalExplicitNavigationButtonEditorクラスについてですが、カスタムエディタのためのスクリプトであるということが調べた結果わかりました。
353
+ こちらのHorizontalExplicitNavigationButtonEditorクラスについてですが、カスタムエディタのためのスクリプトであるということが調べた結果わかりました。
354
354
 
355
355
  そして多くの場合別々のCSファイルに収めているようでしたが、今回はこのままの形で一つのファイルにしていてよろしいのでしょうか?
356
356
 
@@ -360,7 +360,7 @@
360
360
 
361
361
  ![エラー](df6028eba7b68322ea8778ef16bd2082.png)
362
362
 
363
- また、フィールドに設定したものを参照している(thisで修飾もしてある)変数になぜかあいまいのエラーが出てしまいました。
363
+ それからフィールドに設定したものを参照している(thisで修飾もしてある)変数になぜかあいまいのエラーが出てしまいました。
364
364
 
365
365
  申し訳ありませんが解決のためにお力添えいただけませんでしょうか。
366
366
 

7

誤字

2020/06/27 14:54

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -186,7 +186,7 @@
186
186
 
187
187
  #if UNITY_EDITOR
188
188
 
189
- //Unityエディタのみで実行したい処理を記述。インスペクタ拡張。実行時には無効
189
+ //Unityエディタのみで実行したい処理を記述。実行時には無効
190
190
 
191
191
  using UnityEditor;
192
192
 

6

書式改善

2020/06/27 14:51

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -171,3 +171,197 @@
171
171
  Unity 2019 3,7f1
172
172
 
173
173
  EnhancedScroller
174
+
175
+
176
+
177
+ ### 長々とお付き合いさせてしまいましてすみません
178
+
179
+
180
+
181
+ ```C#
182
+
183
+ using UnityEngine;
184
+
185
+ using UnityEngine.UI;
186
+
187
+ #if UNITY_EDITOR
188
+
189
+ //Unityエディタのみで実行したい処理を記述。インスペクタ拡張。実行時には無効
190
+
191
+ using UnityEditor;
192
+
193
+ using UnityEditor.UI;
194
+
195
+ #endif
196
+
197
+
198
+
199
+ public class HorizontalExplicitNavigationButton : Button
200
+
201
+ {
202
+
203
+ [SerializeField] private Selectable selectOnLeft;
204
+
205
+ //左で選択するobject
206
+
207
+ [SerializeField] private Selectable selectOnRight;
208
+
209
+ //右で選択するobject
210
+
211
+
212
+
213
+ /// <inheritdoc />
214
+
215
+ public override Selectable FindSelectableOnUp()
216
+
217
+ {
218
+
219
+ return null;
220
+
221
+ //上は選択できないよう
222
+
223
+
224
+
225
+ }
226
+
227
+
228
+
229
+ /// <inheritdoc />
230
+
231
+ public override Selectable FindSelectableOnLeft()
232
+
233
+ {
234
+
235
+ return this.selectOnLeft;
236
+
237
+ //選択するオブジェクトを渡す
238
+
239
+ }
240
+
241
+
242
+
243
+ /// <inheritdoc />
244
+
245
+ public override Selectable FindSelectableOnRight()
246
+
247
+ {
248
+
249
+ return this.selectOnRight;
250
+
251
+ //選択するオブジェクトを渡す
252
+
253
+ }
254
+
255
+ }
256
+
257
+ #if UNITY_EDITOR
258
+
259
+ //Unityエディタのみで実行したい処理を記述
260
+
261
+ [CustomEditor(typeof(HorizontalExplicitNavigationButton), true)]
262
+
263
+ //改造するエディタのスクリプトを選択
264
+
265
+ [CanEditMultipleObjects]
266
+
267
+
268
+
269
+ public class HorizontalExplicitNavigationButtonEditor : ButtonEditor
270
+
271
+ {
272
+
273
+ private SerializedProperty selectOnLeftProperty;
274
+
275
+ //Editor上で表示できるプロパティを設定?
276
+
277
+ private SerializedProperty selectOnRightProperty;
278
+
279
+ //同上
280
+
281
+
282
+
283
+ //UIの書式というか形?外観?をButtonEditor.OnInspectorGuiから継承?
284
+
285
+ /// <inheritdoc />
286
+
287
+ public override void OnInspectorGUI()
288
+
289
+ {
290
+
291
+ base.OnInspectorGUI();
292
+
293
+ //カスタムエディタを作るメソッド
294
+
295
+ (this.target as Selectable).navigation = Navigation.defaultNavigation;
296
+
297
+ //Editor型のtargetオブジェクトをSelectable型にキャストし、Navigation型のdefauitNavigationに代入。
298
+
299
+ //つまりインスペクタにSelectable型を含むゲームオブジェクトを入れたらその情報をやり取りしてくれる?
300
+
301
+
302
+
303
+ this.serializedObject.Update();
304
+
305
+ //表示されるオブジェクトの形式を更新する
306
+
307
+ EditorGUILayout.PropertyField(this.selectOnLeftProperty);
308
+
309
+ EditorGUILayout.PropertyField(this.selectOnRightProperty);
310
+
311
+ //SelectedOnleftとRightを表示する
312
+
313
+ this.serializedObject.ApplyModifiedProperties();
314
+
315
+ //プロパティの変更を適用
316
+
317
+ }
318
+
319
+
320
+
321
+ //UIの書式というか形?外観?をButtonEditor.OnEnableから継承?
322
+
323
+ /// <inheritdoc />
324
+
325
+ protected override void OnEnable()
326
+
327
+ {
328
+
329
+ base.OnEnable();
330
+
331
+ //Objectが有効になったら、UIが表示されたら起動
332
+
333
+ this.selectOnLeftProperty = this.serializedObject.FindProperty("selectOnLeft");
334
+
335
+ this.selectOnRightProperty = this.serializedObject.FindProperty("selectOnRight");
336
+
337
+
338
+
339
+ }
340
+
341
+ }
342
+
343
+ #endif
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+ ```
352
+
353
+ また、こちらのHorizontalExplicitNavigationButtonEditorクラスについてですが、カスタムエディタのためのスクリプトであるということが調べた結果わかりました。
354
+
355
+ そして多くの場合別々のCSファイルに収めているようでしたが、今回はこのままの形で一つのファイルにしていてよろしいのでしょうか?
356
+
357
+ 暗黙の了解で省いたということでしたら無知をお詫びいたします。
358
+
359
+
360
+
361
+ ![エラー](df6028eba7b68322ea8778ef16bd2082.png)
362
+
363
+ また、フィールドに設定したものを参照している(thisで修飾もしてある)変数になぜかあいまいのエラーが出てしまいました。
364
+
365
+ 申し訳ありませんが解決のためにお力添えいただけませんでしょうか。
366
+
367
+ お手間をおかけします。

5

タイトルの改善

2020/06/27 14:50

投稿

cushionA
cushionA

スコア90

test CHANGED
@@ -1 +1 @@
1
- UIButtonのNavigationが上手くいかない
1
+ UnityのUIButtonのNavigation設定が上手くいかない
test CHANGED
File without changes

4

コードの間違いを訂正

2020/06/26 17:31

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -144,6 +144,10 @@
144
144
 
145
145
  このコードの効果で飛ばそうかとも思いましたがUNITYのコンポーネントをいじることへの恐怖が強くできていません。
146
146
 
147
+ それから上ボタンの封印については上を押している間はEventSystem自体無効化することで封印できないだろうかとも考えました。
148
+
149
+
150
+
147
151
  果たしてこの方法は正しいのでしょうか。また、もっといい方法があったりするのでしょうか。
148
152
 
149
153
 

3

誤字修正

2020/06/26 17:30

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -37,6 +37,10 @@
37
37
  そして不可能になった理由についてですが、このスクロールはEnhancedScrollerというセルをプレハブとして設定しておきそれを使いまわすことでスクロール画面を作るという仕組みのアセットで作られています。
38
38
 
39
39
  ゆえにシーンのヒエラルキーからExplicitに移動したいセルを指定しても下記の画像のようにMissingとなってしまうのです。
40
+
41
+ ![Missing](f9577a1037fabec836b9374e2dc8a75a.png)
42
+
43
+
40
44
 
41
45
  ゆえに、メニューの表示選択ボタンからセルにとぶために自動で飛べる場所を都度設定してくれるオートマチックにナビゲーションの設定を変えざるを得ず、ループと上のみを無効化することができなくなりました。
42
46
 

2

コードの間違いを訂正

2020/06/26 17:26

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
 
120
120
 
121
- しかしStandaloneInputModuleとEventSystemの挙動が優先されてしまうようで改善はしませんでした。
121
+ しかしStandaloneInputModuleとEventSystemの挙動が優先されてしまうようで改善はしませんでした。(VerticalKeyに至ってはただの変数ですから当然ですね。変なコードですみません)
122
122
 
123
123
  次に、オートマチックにした上でStandaloneInputModuleのスクリプト本体を改変し、特定の場合の上入力を無効化し、さらに左端にいるときは左入力を、右端にいるときは右入力を、それぞれ無効化して
124
124
 
@@ -152,6 +152,8 @@
152
152
 
153
153
 
154
154
 
155
+ よろしくお願いいたします。
156
+
155
157
 
156
158
 
157
159
  ### 補足情報(FW/ツールのバージョンなど)

1

誤字

2020/06/26 17:24

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- UIのボタンのカーソルを思った通りに動かしたい。
5
+ UIのボタンのカーソルを思った通りに動かしたいです
6
6
 
7
- しかしいくつかの障害がありうまくいかず、また考案した方法にも不安があるので相談させていたきたい。
7
+ しかしいくつかの障害がありうまくいかず、また考案した方法にも不安があるので相談させてませ
8
8
 
9
9
 
10
10