[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild3 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
63
(1): 名前は開発中のものです。 [sage] 2020/01/14(火) 13:02:53.66 ID:FSjVa/a9(1/4) AAS
>>60
60(1): 名前は開発中のものです。 [sage] 2020/01/14(火) 11:03:25.28 ID:Sje8YI9U(2/3) AAS
Bダッシュジャンプの挙動は UniRX の Observable で実装出来た。

InputSystem.Controls.ButtonControl や、InputSystem.OnScreen.OnScreenButton 辺りで
色と試したけど、スクリプトの中でボタンを押したことにしても、希望の動作にならかかったので、
UniRX で、ダッシュボダンを離しても nフレ後までは最高速ジャンプ出来るように実装した。

あとアドバイスの内容で、ああこの人は "物理ゲームパッド用のゲーム" を開発したことない人だなと分かるようになった。
UnityEngine.InputSystem.Gamepad とかのことね。

でも出来たんでサンキュー!
おはようございます出来たそうでよかったです、もう必要ないかもしれないけど
ちょっと自分も>>46
46(2): 名前は開発中のものです。 [sage] 2020/01/13(月) 21:32:16.53 ID:QiViT9Gr(9/12) AAS
質問いいかな?

マリオ64+初代トゥームレイダーみたいな3Dアクション作ってるんだけど、
スマホ画面のバーチャルボタンでの二つボタン同時押しがきつい。
例えば、Bダッシュジャンプ(※B押しながらAでジャンプ)とかが出来ない。

そこで物理コントローラでの操作はそのままで、例えばスマホ画面の
バーチャルコントローラだけ、Bボタンを "離す入力" を遅延させることは出来ないかな?

例えばスマホではBボタンを離しても、0.5秒は押したままで判定されて、その隙にAボタンを押すみたいな。

スクリプト内では以下でコントローラの入力を取ってる。
UnityEngine.InputSystem.Controls.ButtonControl

自分が思いつくのは拡張メソッドとか?
スマホ判定したら、特定のボタンの wasReleasedThisFrame が来たら、何とかして遅延実行させるとか?
の要件をやってみました頭の体操になりましたので参考までに
よければ、こんな画面でuiのbuttonコンポーネントに画像付けてみまして
画像リンク

Aボタンの遅延を実装してみました
画像リンク

プログラムではボタンを離してから2秒後まで押下中と判断しています
単純に押下の判定を2つ、ボタン押しているか?フラグが立っているかです
で離した後Invokeでフラグを解除しています
RaycastAllとか勉強になりましたよ
98: 名前は開発中のものです。 [sage] 2020/01/15(水) 08:13:08.11 ID:RfSstNcC(1/2) AAS
>>63
ありがとう。こういう動くサンプルコードを提示してもらえるのは実にありがたい。
自分はまだ、ゲームパッド向け(※バーチャル含め)のスクリプトしか書いてないけど、
タッチ操作で出来ることの一例を見せてもらえて非常に参考になった。

自分も何とか InputSystem をどうにか工夫して希望の処理を実装しようとしてたけど、
試行錯誤中に別の解決策が見つかってそちらを採用した。

結局、Bダッシュジャンプの実装を "ボタンを離したことを遅延させる" ではなく、"ボタンを離してもしばらく最高速を保つ" ことで実現でした。
問題点の分析の時点で見誤っていたんだ…

でも、サンキュー!
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.055s