[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild3 http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
856: 名前は開発中のものです。 [sage] 2020/03/16(月) 09:55:12.73 ID:LdLDk6nR Unity2018を利用しています。 uGUIでユーザインターフェースを実装しています。 クリックした場所へ移動するというMMOでありがちな操作方法で動いています。 GUIをクリックしたときは動かないようにしてあるのですが、GUIの閉じるボタンをファンクションで動作させると、 GUIが閉じた瞬間に閉じるボタンがあった場所へ向かって移動をしてしまいます。 どうも閉じるボタンのファンクションが実行され、パネルが閉じた後でクリックした場所のRaycastを取得してしまい、 移動が暴発してしまうようでした。 仕方なくパネルを閉じる場合はは閉じるボタンのファンクションではなく、プレイヤーを操作しているクラス内で 閉じるボタンがクリックされたかどうかを判定しパネルを閉じているのですが、 毎回GetComponentやらFindやら重い処理で閉じるボタンの判定することとなったり、 すべての閉じるボタンを保持しておいてRaychastで取得したボタンと一致するかどうかを判定する、 とかボタン登録の量から考えて非現実な手法であったり、 名前を統一してその名前で作られたボタンを閉じるボタンにする、としたら同階層で名前の違う閉じるボタンの実装が必要になったりと うまくいきません。 何よりボタンのファンクションではなくプレイヤーの動作アクションのクラスでどうにかしようとしている所がスマートではないことが気になります。 どうしたら移動を暴発させずに閉じるボタンでパネルを閉じることができるでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/856
863: 名前は開発中のものです。 [sage] 2020/03/16(月) 13:34:36.73 ID:ZW9c9VSl >>856 自分はタイマー作って処理してるけど UI上にマウスある時はタイマーの値が0.1とか小さな値が代入され続ける これが0になるとキャラ操作可能になる タイマー側は0以上だと絶えず減算し続けている仕組み UIの動作が複雑になってくるとスクリプトの動作順や1フレーム単位での動機のズレで誤爆が起きたり起きなかったりして面倒な問題に ウィンドウの開閉で問題が出やすいと思う だから単純だけど誤爆が起きようが無いタイマーで数フレーのラグを稼いで操作を切り替えてるけど http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/863
877: 名前は開発中のものです。 [sage] 2020/03/17(火) 22:42:44.88 ID:jPxCje6v >>856 常にUIの一番下に何も表示しないimageを敷いといて、そこでpressを受け取ったときのみ、3D面にレイキャストする http://mevius.5ch.net/test/read.cgi/gamedev/1578720539/877
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.037s