【軽量】godot engine【無料】 part5 (47レス)
上
下
前
次
1-
新
20
: 11/07(金)12:47
ID:NCON4E65(2/4)
AA×
[
240
|
320
|480|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
20: [sage] 2025/11/07(金) 12:47:12.11 ID:NCON4E65 すみませんもうちょっと詳細に書きます 例えば以下のスクリプトを適当なノードに貼り、その子にTextEditを持たせるとします func _physics_process(_delta: float) -> void: if Engine.get_physics_frames() == 500: #時間経過で$TextEditを削除 $TextEdit.queue_free() func _input(event: InputEvent) -> void: if event is InputEventKey: #キー入力を記録 print(event) この状態で適当なキー(たとえば右矢印キー)を押して離すと下記のように出力されます InputEventKey: keycode=4194321 (Right), mods=none, physical=false, location=unspecified, pressed=true, echo=false InputEventKey: keycode=4194321 (Right), mods=none, physical=false, location=unspecified, pressed=false, echo=false 自分が解放イベントと呼んでいるのはpressed=falseなInputEventKeyの事です TextEditに何かしら日本語を入力して確定せず待機し、TextEditがqueue_freeで削除されるまで待ちます その後に右矢印キーを押して離すと下記のように出力されます InputEventKey: keycode=4194321 (Right), mods=none, physical=false, location=unspecified, pressed=true, echo=false 見ての通りpressed=falseなInputEventKeyが出力されません、 同様にインプットマップの組み込みアクションであるui_rightなども入力され続ける状態になっています 次に何かしらキーを離した時は通常の挙動に戻ります 削除そのものが原因ではなく、コードによりIMEの確定待ち状態が解除されることが原因のようです 上記コードのqueue_freeをapply_imeやcancel_ime、release_focusに変更しても同じ現象が起こります TextEditに限らずLineEditでも同じ現象が起こります http://mevius.5ch.net/test/read.cgi/gamedev/1760611391/20
すみませんもうちょっと詳細に書きます 例えば以下のスクリプトを適当なノードに貼りその子にを持たせるとします 時間経過でを削除 キー入力を記録 この状態で適当なキーたとえば右矢印キーを押して離すと下記のように出力されます 自分が解放イベントと呼んでいるのはなの事です に何かしら日本語を入力して確定せず待機しがで削除されるまで待ちます その後に右矢印キーを押して離すと下記のように出力されます 見ての通りなが出力されません 同様にインプットマップの組み込みアクションであるなども入力され続ける状態になっています 次に何かしらキーを離した時は通常の挙動に戻ります 削除そのものが原因ではなくコードによりの確定待ち状態が解除されることが原因のようです 上記コードのをやに変更しても同じ現象が起こります に限らずでも同じ現象が起こります
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 27 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.044s