【軽量】godot engine【無料】 part4 (892レス)
【軽量】godot engine【無料】 part4 http://mevius.5ch.net/test/read.cgi/gamedev/1722379579/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
829: 名前は開発中のものです。 [] 2025/08/21(木) 17:37:16.04 ID:zThVp00O isTouchActiveみたいなbool値でシグナルの受信を管理する必要があるのかと思ったらこれでもいけるらしい ChatGPTにリファクタリングして貰ったらソースがかなり短くなった ttps://pastebin.com/YyjtJXCC ソース冒頭のGameManagerはシングルトンとしてAutoLoadに設定、プロパティはactive_charのみ このactive_charはゲーム内でアクティブなキャラを一意にする意図 プレイヤーノード構成 CharacterBody2D ├Area2D │ └CollisionShape2D └Sprite2D http://mevius.5ch.net/test/read.cgi/gamedev/1722379579/829
833: 名前は開発中のものです。 [sage] 2025/08/21(木) 19:31:45.99 ID:OYDY07jx AIが使えるとかなり捗るね 自分の上げた>>828方式だと発呼するのが一人だけなのが保証されているので複数による切り替えは発生しない >>829方式の場合はもうひと工夫が必要 これもやり方は色々あるけど一つ方法を挙げておくと 即時にアクティブキャラクターを更新するのが問題の発生原因なので更新処理を遅延させる call_deferredを使用すると現フレームと次フレームの間に処理が行われるのでこれを利用する より具体的にはアクティブキャラクター更新処理を関数化してcall_deferredで呼ぶ 自分で使うならこう書くんだけど行儀が良くないコードなので実用するなら適宜直してね (func():gm.active_char = other_char).call_deferred() http://mevius.5ch.net/test/read.cgi/gamedev/1722379579/833
835: 名前は開発中のものです。 [sage] 2025/08/22(金) 13:20:20.86 ID:hykeI/+Z 今回上がった>>828,829どちらでも多重切り替えの対策をしていれば安全性は変わらない 作る人が作りやすい間違えにくい方式を選べば良い 現在のアクティブキャラを頻繁に知る必要があるなら>>829の方が良いと思う >>828の場合は対象キャラクターの全件走査が必要になる >>828のメリットはゲームマネージャ不要なので携わるクラスやファイルが少なくなる事かな 全件走査の件はグローバルクラス化して静的変数を持たせればゲームマネージャを用意せずとも同じ結果を得られる やり方は色々存在する 尚現処理では2体以上のキャラクターと同時に衝突した場合の切り替え対象が不定となるので 優先順位が必要な場合は何らかの追加処理が必要 http://mevius.5ch.net/test/read.cgi/gamedev/1722379579/835
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s