[過去ログ] 【軽量】godot engine - part2 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
836(1): 名前は開発中のものです。 [] 2024/02/02(金) 01:00:55.38 ID:1cSrS8bV(1/13) AAS
多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど
838: 名前は開発中のものです。 [] 2024/02/02(金) 02:19:14.30 ID:1cSrS8bV(2/13) AAS
root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか?
ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる
なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う
add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め
839: 名前は開発中のものです。 [] 2024/02/02(金) 02:27:59.11 ID:1cSrS8bV(3/13) AAS
ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず
root直下のノード群は最初に取得済となって後から追加しても無視されると思われる
842(2): 名前は開発中のものです。 [] 2024/02/02(金) 13:26:01.70 ID:1cSrS8bV(4/13) AAS
>>840840(1): 名前は開発中のものです。 [] 2024/02/02(金) 05:57:16.86 ID:KtCPrk0G(1/6) AAS
>>833
ありがとう
自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。
あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね
ノードの型は実行時に取得するまで判らないので編集時はコードから判断される
型指定は宣言時に自分で行う
宣言時に初期設定も終わらせるなら
var rigidbody := get_node(path) as RigidBody2D
で宣言時の型指定を省略できる
付け忘れ対策はlintの様な外部ツールを使うしかないと思う
便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる
GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う
844: 名前は開発中のものです。 [] 2024/02/02(金) 14:04:57.68 ID:1cSrS8bV(5/13) AAS
エディタの設定だと思ってプロジェクトの方見てなかったありがとう
848(1): 名前は開発中のものです。 [] 2024/02/02(金) 15:21:56.69 ID:1cSrS8bV(6/13) AAS
試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ
他のIgnoreになってる設定を有効にすると更にキツイ
自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな
>>846デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる
var a #Variant型になる
var a = 0 #Variant型になる
var a:int = 0 #int型になる
var a: = 0 #設定値の型が適用されるつまりint型になる
851: 名前は開発中のものです。 [] 2024/02/02(金) 15:42:57.64 ID:1cSrS8bV(7/13) AAS
自分で調べられる人は質問しないから質問が多く見えるのだと思う
853(2): 名前は開発中のものです。 [] 2024/02/02(金) 16:06:24.58 ID:1cSrS8bV(8/13) AAS
Godotのドキュメントは読みやすいし使いやすいと思うが
使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな
調べ方を書いても反応なかったのでどうしていいか判らんな
855: 名前は開発中のものです。 [] 2024/02/02(金) 16:28:33.73 ID:1cSrS8bV(9/13) AAS
あーそういうことね完全に理解した
857(1): 名前は開発中のものです。 [] 2024/02/02(金) 18:18:56.37 ID:1cSrS8bV(10/13) AAS
>>856856(2): 名前は開発中のものです。 [] 2024/02/02(金) 17:38:12.48 ID:KtCPrk0G(4/6) AAS
>>848
スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば
しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか?
そのほうがトラブルは少なそうですが
>>843843(1): 名前は開発中のものです。 [sage] 2024/02/02(金) 13:56:07.61 ID:SAYqJfSZ(1/2) AAS
>>842
調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい
使うならエディタ設定の型ヒントをオンにしたほうが良さそう
他にも使えそうな警告がいっぱいあった
の
>使うならエディタ設定の型ヒントをオンにしたほうが良さそう
が答えで[エディタ設定][テキストエディタ][自動補完][型ヒントを追加]でわかるかな?
構文チェックはあればあるほどバグが入り込みにくくはなるけど不便になっていくので
個人や組織で必要に合わせて調整するもの
自分の感覚だとuntyped_declarationと型ヒントを追加を有効にするが実用範囲だけど
これだけでもタイプ量と言語知識の要求が増えるのでコーディング難度はあがる
860: 名前は開発中のものです。 [] 2024/02/02(金) 22:23:34.27 ID:1cSrS8bV(11/13) AAS
GDScriptは他のコンパイル言語と比べて処理速度は遅い
速度が必要な処理はC#やGDExtensionで多言語に処理を投げる
がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う
プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない
プロファイラーを使うか自前コードで計測して遅い部分を把握する
外部リンク[html]:docs.godotengine.org
適当エスパーしとくと
_processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない
リソースは動的に呼び出さない参照は最短で最低限にする
高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない
862: 名前は開発中のものです。 [] 2024/02/02(金) 22:38:56.98 ID:1cSrS8bV(12/13) AAS
エディタだと大本の環境依存すぎて難しいな不便だけど自動補完を切るとかかな?
863: 名前は開発中のものです。 [] 2024/02/02(金) 23:26:26.89 ID:1cSrS8bV(13/13) AAS
環境の話題ついでだけどAndroidでもRaspberryPiでも動くから
重くて不便な環境で嫌気差す可能性もあるが
安上りな教育環境として利用できるかもしれないと思いましたまる
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s