[過去ログ]
【軽量】godot engine - part2 (1002レス)
【軽量】godot engine - part2 http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
827: 名前は開発中のものです。 [] 2024/02/01(木) 13:03:53.68 ID:RbvII5uE 状況が判らないなエラーコード書いたらハイライト表示されてフリーズはしないが http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/827
828: 名前は開発中のものです。 [] 2024/02/01(木) 15:11:31.28 ID:d1tWUBD1 親ノードのスクリプトから子ノードを取得して、子ノード(rigidbody2d)のメソッドを使いたいのですが、この場合はオートコンプリートは出ないものですか?(apply_impulse) 子ノードにスクリプトつけて、そこからなら効くんですが >>827 プレイ画面のことでした エディターのエラーを見て実行しなければいいだけなんですけどもね http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/828
829: 名前は開発中のものです。 [] 2024/02/01(木) 15:57:12.68 ID:RbvII5uE ノードをget_nodeで取得していると仮定するとこうかな var node = get_node(path) as RigidBody2D エラーがあっても可能な限り止まらないで動作させるポリシーらしいので 動かす動かさないは利用者に委ねられるのでしょう http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/829
830: 名前は開発中のものです。 [sage] 2024/02/01(木) 19:13:23.54 ID:wFSVR3t/ みんなgodotでシコシコどんなゲーム作ってるん? ちなみに俺は何も作ってない http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/830
831: 名前は開発中のものです。 [] 2024/02/01(木) 19:51:19.77 ID:d1tWUBD1 >>829 その書き方でいけました しかし、readyの中だと出るのにprocessの中だとでません これって正常な仕様なんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/831
832: 名前は開発中のものです。 [sage] 2024/02/01(木) 20:58:13.75 ID:2YEqIkXl var a : RigidBody2D こうじゃないの ダックタイピングしないときは型は書いた方がいい、可読性が全然違う http://mevius.5ch.net/test/read.cgi/gamedev/1619755427/832
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
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 151 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s