[過去ログ]
【3Dゲームエンジン】Unity質問スレッド33 (1002レス)
【3Dゲームエンジン】Unity質問スレッド33 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
87: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:30:03.34 ID:ef3cEapS >>88 ありがとうございます! 実は回答いただく前に色々試したところ、 2つの解決法を見つけました! @UIの方で、ValueChangeを渡すメソッドを選ぶ時に 一覧の中にある「メソッド名(float)」を選んではダメで、 一覧の一番上の方にある、「メソッド名」のみのを選ぶと、 スクリプトでは引数にvalueがfloatで渡されるようです・・・ スクリプトの方は、「メソッド名(float a)」で定義しているので、 aにvalueが入ってきました! Aスクリプトの方で「メソッド名(slider)」で定義して、 UIの方で、ValueChangeを渡すメソッドを選ぶ時に、 渡すオブジェクト(slider)も指定してやると、 スクリプトでは引数に指定したsliderが渡されるようです スクリプトの方は、「メソッド名(slider s)」で定義しているので、 「s.value」で、valueがfloatで得られました! コンポーネントをゲットする方法は、 Aに近い感じですか?? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/87
89: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:39:16.44 ID:ef3cEapS オブジェクトobjAに載せたスクリプトscrA public void OnSliderX(Slider sliderX){ float x = sliderX.value; Debug.Log (x); } public void OnSliderY(float a){ float y = a; Debug.Log (y); } UIスライダーSliderXにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderX 渡す値:SliderX(Slider) UIスライダーSliderYにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderY ・・・リスト最上段のDynamic floatの直下 渡す値:欄なし ↑ ちなみに、リスト途中の オブジェクト.メソッド:objA.OnSliderY(float) だと 渡す値:0 ←変数を指定できず、数値(固定値) になるようで、失敗します! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/89
91: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:53:20.70 ID:ef3cEapS >>88 やってみました! こんな感じでしょうか? B引数は指定せずに、メソッドを呼び出して、 メソッド内で、GetComponent<Slider>().value から取得してみました! public void OnSliderZ(){ float z = GameObject.Find("SliderZ").GetComponent<Slider>().value; Debug.Log (z); } UIスライダーSliderZにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderZ 渡す値:欄なし @AB、どれも動作はするようです 一番簡単なのはAかも・・・ (当初やりたかった、floatで引数を送れるから) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/91
97: 名前は開発中のものです。 [sage] 2017/12/26(火) 08:27:49.72 ID:ef3cEapS >>94 ??? UIを触り始めたのは、3日前から 確かに、Unity始めたのは2017になるギリギリ前のUnity 5.6からだけど http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/97
98: 名前は開発中のものです。 [sage] 2017/12/26(火) 08:31:50.53 ID:ef3cEapS 聞かないで試行錯誤しても効率が悪いから、質問スレに聞いてるんだけどね 実際、自己解決した方法は汎用性が低い方法で、正解まで辿り着けなったし UI回りは、他のゲーム空間に配置するオブジェクトとだいぶ勝手が違うし ネットで引いてもなかなか体系的に書かれているところ少なくない? (ボタンは多いけど、スライダーとかトグルはあんまりない) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/98
119: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:20:53.35 ID:ef3cEapS 当方、キムチでも、113でも、117でもありませんがw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/119
120: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:27:04.89 ID:ef3cEapS >>111 ボタンは引数なしで呼び出すだけだから簡単だけど、 スライダーは引数をどうやって受け取るかがわからなかったのでした 少なくとも公式のオンラインマニュアルからは探せず・・・ UIのインスペクターのリストをよーく見たら、 引数ありのメソッドと同名の、引く数なしのメソッドが上の方に見つかって解決したけど >>99 やっぱり、リスト最上段のDynamic floatの直下にあるところをみると、 コレ(@)がUnity側で用意した機能なんでしょうね・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/120
122: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:36:26.13 ID:ef3cEapS >>118 個人的には「3」を使ってます! 最初のLoad用のシーン0でフラグ管理用のオブジェクトを「DontDestroy」設定して、 その後はシーン1へ遷移して、以降はシーン0へは戻りません (戻ると、「DontDestroy」設定を繰り返してしまうので・・・) フラグ管理用のオブジェクトに載せたスクリプト内では、Start()内で、 ゲームを通してシーン間で共有する変数を全て「public」で宣言して初期値設定しています そして、他のシーンの他のオブジェクトから、適宜呼び出して参照や代入して共有してますね http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/122
123: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:40:47.37 ID:ef3cEapS >>121の言うように、 セーブありのRPGみたいな感じであれば、シーン変更前にセーブして、 シーン変更後にロードでも良い気がしますね ゲーム終了後も保持したいなら、やはり外部保存だと思います 自分のは基本パスワード式のACTなので、 セーブシステムがないので、ゲーム内でのみ保持しています パスワードの入力によって、フラグの初期値を変更して、 その後にゲーム開始となるようにしていますね (まっすぐゲームスタートした場合は、全フラグを初期値で開始) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/123
125: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:39:55.98 ID:ef3cEapS staticにする必要性ってどこにあるんだろう?? FCやSFCで言うところの、RAMじゃなくてROM的な機能か? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/125
127: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:58:03.74 ID:ef3cEapS ゲーム内で使いまわす、汎用関数を定義するとか? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/127
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.618s*