[過去ログ]
【軽量】godot engine - part2 (1002レス)
【軽量】godot engine - part2 http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
833: 名前は開発中のものです。 [] 2024/02/01(木) 21:13:34.80 ID:Fw0MlK/N 短くしたかったので一行に纏めたのが良くなかった 宣言と初期設定と使用が分かれるならこんな感じ _readyの中で型指定しても_processからは見えないから上位で型指定する var node:RigidBody2D func _ready() node = get_node(path) func _process(_delta): node.apply_impulse(impuls) http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/833
834: 名前は開発中のものです。 [] 2024/02/01(木) 22:23:33.00 ID:9xF8Tfdc >>830 寒いからやってない ローグライクゲームのダッシュって実装がめんどくさいな http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/834
835: 名前は開発中のものです。 [sage] 2024/02/02(金) 00:02:58.39 ID:csXE6Gch 自分はreadyの中でよそのシーンをインスタンス化しても何故かシーンツリーに登録されないから だんだんready使わなくなったなあ readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/835
836: 名前は開発中のものです。 [] 2024/02/02(金) 01:00:55.38 ID:1cSrS8bV 多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/836
837: 名前は開発中のものです。 [sage] 2024/02/02(金) 01:57:44.07 ID:csXE6Gch >>836 こんな感じに書き換えたら行けましたぞ ありがとう! func _ready(): node = node_scene.instaniate() get_tree().root.call_deferred("add_child, node) ちなみにルートにぶら下げないで、単に func _ready(): node = node_scene.instaniate() add_child(node) って書いても無事にインスタンス化された ルートの準備okなタイミングがスクリプトより遅いとかそんな感じなのかな http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/837
838: 名前は開発中のものです。 [] 2024/02/02(金) 02:19:14.30 ID:1cSrS8bV root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか? ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/838
839: 名前は開発中のものです。 [] 2024/02/02(金) 02:27:59.11 ID:1cSrS8bV ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず root直下のノード群は最初に取得済となって後から追加しても無視されると思われる http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/839
840: 名前は開発中のものです。 [] 2024/02/02(金) 05:57:16.86 ID:KtCPrk0G >>833 ありがとう 自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。 あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/840
841: 名前は開発中のものです。 [sage] 2024/02/02(金) 11:21:24.43 ID:HJWQqSOJ >>834 ダッシュって次の曲がり角までスキップ(早回し?)するアレ? ローグライクって周りのマス参照したりターン制御したりダンジョン自動生成したり複雑だよな 俺も作ってみるか http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/841
842: 名前は開発中のものです。 [] 2024/02/02(金) 13:26:01.70 ID:1cSrS8bV >>840 ノードの型は実行時に取得するまで判らないので編集時はコードから判断される 型指定は宣言時に自分で行う 宣言時に初期設定も終わらせるなら var rigidbody := get_node(path) as RigidBody2D で宣言時の型指定を省略できる 付け忘れ対策はlintの様な外部ツールを使うしかないと思う 便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/842
843: 名前は開発中のものです。 [sage] 2024/02/02(金) 13:56:07.61 ID:SAYqJfSZ >>842 調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい 使うならエディタ設定の型ヒントをオンにしたほうが良さそう 他にも使えそうな警告がいっぱいあった http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/843
844: 名前は開発中のものです。 [] 2024/02/02(金) 14:04:57.68 ID:1cSrS8bV エディタの設定だと思ってプロジェクトの方見てなかったありがとう http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/844
845: 名前は開発中のものです。 [] 2024/02/02(金) 14:30:28.27 ID:KtCPrk0G >>842 明治してやらないと駄目なんですね そう受け入れます untyped decralationを設定したらそうなりました ありがとう(*´ω`*) unityと併用すること考えたら型付けしといたほうがいいですね http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/845
846: 名前は開発中のものです。 [] 2024/02/02(金) 14:41:20.81 ID:KtCPrk0G スクリプトのデフォルトコードって型付けされたものになるもんですか? 自分の環境ではならないです http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/846
847: 名前は開発中のものです。 [sage] 2024/02/02(金) 14:51:05.77 ID:bD7U8OGn ローグライクみたいなコテコテの2DRPGならjs使えるツクールの方が向いてるんじゃないの 作るなとは言わんけどシステム的に要求が多すぎて挫折しがち http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/847
848: 名前は開発中のものです。 [] 2024/02/02(金) 15:21:56.69 ID:1cSrS8bV 試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ 他のIgnoreになってる設定を有効にすると更にキツイ 自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな >>846 デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる var a #Variant型になる var a = 0 #Variant型になる var a:int = 0 #int型になる var a: = 0 #設定値の型が適用されるつまりint型になる http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/848
849: 名前は開発中のものです。 [sage] 2024/02/02(金) 15:29:23.51 ID:bD7U8OGn 型付けもライフサイクルもドキュメント見りゃ大体丁寧に書いてあるけど皆そんなドキュメント見ないのかな http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/849
850: 名前は開発中のものです。 [sage] 2024/02/02(金) 15:36:21.15 ID:zgD08SYH 他の言語触った事ない(GDが初めて)ならドキュメントの見方読み方もよくわかんないんじゃない http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/850
851: 名前は開発中のものです。 [] 2024/02/02(金) 15:42:57.64 ID:1cSrS8bV 自分で調べられる人は質問しないから質問が多く見えるのだと思う http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/851
852: 名前は開発中のものです。 [sage] 2024/02/02(金) 16:00:24.46 ID:Qx6M1fJu あくまで主観だけどGodotのドキュメントは他の言語に比べて大分分かりやすい方だと思う 質問多いのは構わないけど書いてあるのに読まない知らないはドキュメントが勿体ないなと http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/852
853: 名前は開発中のものです。 [] 2024/02/02(金) 16:06:24.58 ID:1cSrS8bV Godotのドキュメントは読みやすいし使いやすいと思うが 使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな 調べ方を書いても反応なかったのでどうしていいか判らんな http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/853
854: 名前は開発中のものです。 [sage] 2024/02/02(金) 16:17:53.99 ID:SAYqJfSZ デフォルトコードうんぬんはエディター設定の型ヒントを追加のやつじゃないかな スクリプトテンプレートにも型が付くようになる http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/854
855: 名前は開発中のものです。 [] 2024/02/02(金) 16:28:33.73 ID:1cSrS8bV あーそういうことね完全に理解した http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/855
856: 名前は開発中のものです。 [] 2024/02/02(金) 17:38:12.48 ID:KtCPrk0G >>848 スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか? そのほうがトラブルは少なそうですが http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/856
857: 名前は開発中のものです。 [] 2024/02/02(金) 18:18:56.37 ID:1cSrS8bV >>856 >>843の >使うならエディタ設定の型ヒントをオンにしたほうが良さそう が答えで[エディタ設定][テキストエディタ][自動補完][型ヒントを追加]でわかるかな? 構文チェックはあればあるほどバグが入り込みにくくはなるけど不便になっていくので 個人や組織で必要に合わせて調整するもの 自分の感覚だとuntyped_declarationと型ヒントを追加を有効にするが実用範囲だけど これだけでもタイプ量と言語知識の要求が増えるのでコーディング難度はあがる http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/857
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 145 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s