【軽量】godot engine【無料】 part4 (944レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
821: 名前は開発中のものです。 [sage] 2025/08/21(木) 10:26:48.86 ID:OYDY07jx(1/8) AAS
見ないで答えるにはそれを知っていなければならないから最初は必ず見る
クイズだとしても知識を持っていなければ答えられない
パズルだとしてもルールを知らなければ考えられない
プログラムとはコンピュータとの対話言語を使った会話
言葉を覚えると言う意味では他言語とセオリーは変わらない
曖昧さが少ない分覚えやすいまである
823: 名前は開発中のものです。 [sage] 2025/08/21(木) 12:24:29.89 ID:OYDY07jx(2/8) AAS
ゲームにおけるデータ処理なら必要なアルゴリズムは辞典読めば事足りると思う
ゲームに必要な物ならある程度はエンジンが機能を提供してくれる
他がやってない独創的な処理を実装したいなら頭悩ますしかないね
826: 名前は開発中のものです。 [sage] 2025/08/21(木) 14:59:17.38 ID:OYDY07jx(3/8) AAS
自分が理解できない物を論理的に考えるのは無理なのでまず自分が理解できる所まで単純化する
コンピュータを指示通りに動く人として捉える
相手に自分の考えを伝えるには相手が理解できる言葉を使う
相手がどこまで理解できているかを想像する
>>325325(2): 名前は開発中のものです。 [sage] 2024/10/01(火) 11:03:19.37 ID:cBFrPqfH(2/2) AAS
行きたいやつは黙って勝手に行けばいいけど
他は誰も動かないで自分が騒動に踊らされた馬鹿みたいに感じたら
godotアンチのゾンビみたいになるかもな
の例題を要約すると以下の感じであってるかな?
「アクティブ時にのみ操作可能なキャタクターが複数存在する」
「操作キャラクターが操作可能キャラクターに衝突すると操作権が衝突した相手に移る」
相手が理解しやすい単純な説明を心がける
まず概要を伝えて会話する為の基礎を築く
シグナルとかArea2Dだとか複雑な話題はなくて良い
相手と共通認識ができたらより複雑な話題へ移る
こんな感じで物事を単純化してそこから徐々に複雑化していく
練習方法としては相手が知らない事を説明する事、仕様書を書いて読んで貰う事かな?
場を作るのが難しいけどディスカッションを多数こなすのが良いのではないかな
827: 名前は開発中のものです。 [sage] 2025/08/21(木) 15:00:29.64 ID:OYDY07jx(4/8) AAS
>>325でなくて>>825825(2): 名前は開発中のものです。 [] 2025/08/21(木) 14:05:07.38 ID:/HImpd/9(3/3) AAS
キャラクターをスイッチしたいのだけども
アクティブキャラだけ操作権があって、別キャラと衝突したらそっちに操作権が移る
シグナルはキャラA,B共にarea2dを使っていてあらかじめ有効化している
シグナルのオンオフをいちいち切り替えるのは面倒そうなんで
a,b両方から衝突のシグナルが飛んでくるんで、フィルタリングしたい
フィルタリングの条件分岐に必要な要素って何があるかな?
現在操作キャラ(a)からのシグナルを無視して、それ以外(b)からのシグナルが来たら、bに切り替えるって流れかな
オンオフで対応したほうがシンプルでいいかな
こういう論理的思考が壊滅的に出来ないみたい
練習方法ない?
だったわ
828(2): 名前は開発中のものです。 [sage] 2025/08/21(木) 15:57:31.56 ID:OYDY07jx(5/8) AAS
必要なのかどうか判らんが>>825の制御方法を回答するなら以下かな
操作可能キャラクターに現在操作権があるかどうかを判定するアクティブフラグを持たせる
操作はフラグが有効な場合にのみ処理する
衝突シグナルの発呼はフラグが有効な場合にのみ処理する
衝突シグナル発呼後にフラグを無効にする
衝突シグナル着呼時にフラグを有効にする
830: 名前は開発中のものです。 [sage] 2025/08/21(木) 18:26:36.99 ID:OYDY07jx(6/8) AAS
ゲームマネージャがアクティブなキャラクターを保持する方式だね
その方が今誰がアクティブなのかが即判るので良いかもね
一つ気になる点としてはAの処理とBの処理の処理順でAが先に処理される場合
キャラクターAがBに衝突した際にアクティブキャラクターをBに更新してしまうと
その後のB側の衝突処理でBは自分がアクティブキャラクターと認識してAに更新してしまうのではと思う
さてどうかな?
仕様を誰でも判りやすい言語化するのはAIとの対話にも役立つと思うよ
831: 名前は開発中のものです。 [sage] 2025/08/21(木) 18:35:03.35 ID:OYDY07jx(7/8) AAS
ちょっと訂正、後から文章足したからキャラクターAの登場がずれた
キャラクターAとBが存在する時にAとBの処理順がAが先に処理される場合
AがBに衝突した際にアクティブキャラクターをBに更新してしまうと
その後のB側の衝突処理でBは自分がアクティブキャラクターと認識してAに更新してしまうのではと思う
833: 名前は開発中のものです。 [sage] 2025/08/21(木) 19:31:45.99 ID:OYDY07jx(8/8) AAS
AIが使えるとかなり捗るね
自分の上げた>>828方式だと発呼するのが一人だけなのが保証されているので複数による切り替えは発生しない
>>829829(2): 名前は開発中のものです。 [] 2025/08/21(木) 17:37:16.04 ID:zThVp00O(2/3) AAS
isTouchActiveみたいなbool値でシグナルの受信を管理する必要があるのかと思ったらこれでもいけるらしい
ChatGPTにリファクタリングして貰ったらソースがかなり短くなった
外部リンク:pastebin.com
ソース冒頭のGameManagerはシングルトンとしてAutoLoadに設定、プロパティはactive_charのみ
このactive_charはゲーム内でアクティブなキャラを一意にする意図
プレイヤーノード構成
CharacterBody2D
├Area2D
│ └CollisionShape2D
└Sprite2D
方式の場合はもうひと工夫が必要
これもやり方は色々あるけど一つ方法を挙げておくと
即時にアクティブキャラクターを更新するのが問題の発生原因なので更新処理を遅延させる
call_deferredを使用すると現フレームと次フレームの間に処理が行われるのでこれを利用する
より具体的にはアクティブキャラクター更新処理を関数化してcall_deferredで呼ぶ
自分で使うならこう書くんだけど行儀が良くないコードなので実用するなら適宜直してね
(func():gm.active_char = other_char).call_deferred()
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s