https://godotengine.org/
https://www.reddit.com/r/godot/
godotでクソゲー作ろうぜ!!
探検
【軽量】godot engine - part2
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2021/04/30(金) 13:03:47.04ID:cptRhreJ780名前は開発中のものです。
2024/01/24(水) 15:09:37.21ID:9CQ/w45K ボタンをクリックしたらラベルの文字を変えるって処理はできたのですが
同時に画像を変更する(ノベルゲーのキャラの立ち絵の表情を変える)って
処理はどの辺のチュートリアル読めばできるようになるんでしょうか?
シーンを作って呼び出すのがいいのか、スクリプト(今はこっち)でやればいいのかもわかりません
同時に画像を変更する(ノベルゲーのキャラの立ち絵の表情を変える)って
処理はどの辺のチュートリアル読めばできるようになるんでしょうか?
シーンを作って呼び出すのがいいのか、スクリプト(今はこっち)でやればいいのかもわかりません
781名前は開発中のものです。
2024/01/24(水) 15:25:53.66ID:ePb8v5e+ >>780
シグナルじゃないですか?
シグナルじゃないですか?
782名前は開発中のものです。
2024/01/24(水) 18:21:11.04ID:9CQ/w45K783名前は開発中のものです。
2024/01/25(木) 15:23:37.32ID:77Oz3RL7784名前は開発中のものです。
2024/01/25(木) 21:16:25.06ID:kXZori1n Resourceクラスを継承したオリジナルのstatus.tresを作成し、それをベースキャラクターノードの派生ノードに保持させる事で擬似的なコンポーネントパターンのようなものを実現したと思っていました
しかしこれらは設計として非常に便利なのですが、保持している変数が同じ値を参照してしまいspankbangます
そのせいで別々に実体化した敵キャラが同時に死んだり、同じタイミングでqueue_free()
されてしまい困ります
これを防ぐにはどうしたら良いのでしょうか……?
Resourceを個別に実体化する等はは可能なのでしょうか?
どうか教えていただきたいです
簡単な設計としては以下のようなものです
stats.tres
∟var hit-point
∟func Damage()→もしhit-pointがゼロになったらHP-is-ZEROをemit
∟signal HP-is-ZERO
Enemy.tscn
∟@export var stats:Resource→インスペクタ上でstats.tresをドラッグドロップ
∟func _ready()→ HP-is-ZEROをPopにコネクト
∟func Pop()→自身をqueue_free()
変数のヒットポイントは全てのEnemyインスタンスで共通してしまい、シングルトンを参照したみたいになってしまいます……orz
おそらくシグナルも同時に飛ばされている筈……
しかしこれらは設計として非常に便利なのですが、保持している変数が同じ値を参照してしまいspankbangます
そのせいで別々に実体化した敵キャラが同時に死んだり、同じタイミングでqueue_free()
されてしまい困ります
これを防ぐにはどうしたら良いのでしょうか……?
Resourceを個別に実体化する等はは可能なのでしょうか?
どうか教えていただきたいです
簡単な設計としては以下のようなものです
stats.tres
∟var hit-point
∟func Damage()→もしhit-pointがゼロになったらHP-is-ZEROをemit
∟signal HP-is-ZERO
Enemy.tscn
∟@export var stats:Resource→インスペクタ上でstats.tresをドラッグドロップ
∟func _ready()→ HP-is-ZEROをPopにコネクト
∟func Pop()→自身をqueue_free()
変数のヒットポイントは全てのEnemyインスタンスで共通してしまい、シングルトンを参照したみたいになってしまいます……orz
おそらくシグナルも同時に飛ばされている筈……
785名前は開発中のものです。
2024/01/25(木) 22:52:46.31ID:axJhZZr6 え?リソースを直接書き換えてるってこと?
定数データとして扱うか、
敵の数分リソース作るかじゃないの
定数データとして扱うか、
敵の数分リソース作るかじゃないの
786名前は開発中のものです。
2024/01/26(金) 00:59:46.32ID:d6qv4EnY インスペクターでstatus.tresクリックしてResourceのresource_local_to_sceneにチェックいれてみるとか?
787名前は開発中のものです。
2024/01/26(金) 09:31:17.61ID:pEZdi1Q8788名前は開発中のものです。
2024/01/26(金) 13:05:50.93ID:xQgIMHCZ 逆に見た目から作るのもありなのかな?
ホワイトボックスだと面白くないものな
ホワイトボックスだと面白くないものな
789名前は開発中のものです。
2024/01/26(金) 17:31:23.00ID:V6GPPkOR790名前は開発中のものです。
2024/01/26(金) 19:17:55.73ID:4q31+VlN ゲームのルールが思いつかない
791名前は開発中のものです。
2024/01/27(土) 03:19:51.12ID:iAyWuXN8 一般書にない様なニッチな本とか技術書展では結構出てるからBOOTHはマイナー技術関連の漁り場にしてる
792名前は開発中のものです。
2024/01/27(土) 06:26:37.52ID:23WZBn1j 確かに凄いが初心者向けの本でSwitchでゲームが動くってのは誇張表現じゃないかなと思うな
こないだ本屋でGodotの解説書が売っているの見たし流れ来てるな
こないだ本屋でGodotの解説書が売っているの見たし流れ来てるな
793名前は開発中のものです。
2024/01/27(土) 06:39:03.77ID:JYsp1BmQ clamp関数とかprint関数とか、どの言語にでもあるような基礎的な関数?ってのは、リファレンスにはないのが普通なんですかね?
794名前は開発中のものです。
2024/01/27(土) 07:13:19.05ID:23WZBn1j リファレンスとはどこの何を指して言ってる?ここに書いてあるぞ
https://docs.godotengine.org/ja/4.x/index.html
ゲームエンジンだから何でも揃っている訳でもないな
https://docs.godotengine.org/ja/4.x/index.html
ゲームエンジンだから何でも揃っている訳でもないな
795名前は開発中のものです。
2024/01/27(土) 09:21:44.25ID:JYsp1BmQ796名前は開発中のものです。
2024/01/27(土) 09:37:24.12ID:JTv+Mbby797名前は開発中のものです。
2024/01/27(土) 09:51:29.91ID:23WZBn1j ここに書いてある
https://docs.godotengine.org/ja/4.x/classes/class_%40globalscope.html
「はじめに」にはこう書かれている
https://docs.godotengine.org/ja/4.x/about/introduction.html#organization-of-the-documentation
>クラスリファレンスのドキュメントがエンジンのスクリプトエディター内から直接閲覧できるようになりました。
>すべてのクラス、関数、シグナル等の情報をここで見つけることができます。
[ヘルプを検索]を選べば検索ウインドウが開く
ショートカットはF1またはキーワード上でCtrl+Middle
https://docs.godotengine.org/ja/4.x/classes/class_%40globalscope.html
「はじめに」にはこう書かれている
https://docs.godotengine.org/ja/4.x/about/introduction.html#organization-of-the-documentation
>クラスリファレンスのドキュメントがエンジンのスクリプトエディター内から直接閲覧できるようになりました。
>すべてのクラス、関数、シグナル等の情報をここで見つけることができます。
[ヘルプを検索]を選べば検索ウインドウが開く
ショートカットはF1またはキーワード上でCtrl+Middle
798名前は開発中のものです。
2024/01/27(土) 09:53:08.51ID:23WZBn1j 間違えたMiddleでなくてLeftだ
799名前は開発中のものです。
2024/01/27(土) 10:02:27.75ID:JYsp1BmQ800名前は開発中のものです。
2024/01/27(土) 13:26:22.03ID:wV1JVaXK この手の数学関数とかはどこでも必須なのであるよ
801名前は開発中のものです。
2024/01/27(土) 13:51:11.15ID:JYsp1BmQ ありがとう 頑張って完成させるど クソゲーを
802名前は開発中のものです。
2024/01/27(土) 16:39:57.30ID:JYsp1BmQ godotに戻ってきて良かった
軽いのは正義
開発へのハードルが低くなる
軽いのは正義
開発へのハードルが低くなる
803名前は開発中のものです。
2024/01/27(土) 18:57:58.89ID:iAyWuXN8 エディターの構成とかスクリプトとの連携とか全体的にGodotの方が洗練されてるんだよな
Unityはデファクトスタンダードでアセット類が多いってだけで作り的には大分とっ散らかってる
Unityはデファクトスタンダードでアセット類が多いってだけで作り的には大分とっ散らかってる
804名前は開発中のものです。
2024/01/28(日) 00:05:29.05ID:ikqtEjYO キャラクターボディとスタティックボディの衝突シグナルはどうやれば取れますか?
ドキュメントを探してみましたがそれらしいものがリジッドボディしか見つからず困っています
ドキュメントを探してみましたがそれらしいものがリジッドボディしか見つからず困っています
805名前は開発中のものです。
2024/01/28(日) 00:31:53.80ID:gcvmSnRI >>804
シグナルじゃなくてmove_and_なんとかの返り値や関連メソッドで判別する
シグナルじゃなくてmove_and_なんとかの返り値や関連メソッドで判別する
806名前は開発中のものです。
2024/01/28(日) 00:51:02.57ID:ikqtEjYO >>805
ありがとう 無事見つかりました
ありがとう 無事見つかりました
807名前は開発中のものです。
2024/01/28(日) 02:59:52.94ID:JWmTbwcH 他ツールでも結局最終的に頼りにしてるのは公式ドキュメントのサンプルコードな自分
個人サイトとかだと参考にはなれど権利とかライセンスがとかめんどくさくてさあ
個人サイトとかだと参考にはなれど権利とかライセンスがとかめんどくさくてさあ
808名前は開発中のものです。
2024/01/28(日) 05:59:32.89ID:pEcrIiHG get_tree().paused = trueでポーズ画面作ってるんですが、get_tree().paused = falseで戻せないです
入力受付なくなるのでプロセスが止まっているらしいです
入力も受け付けなくなる感じ?
入力受付なくなるのでプロセスが止まっているらしいです
入力も受け付けなくなる感じ?
809名前は開発中のものです。
2024/01/28(日) 06:15:45.02ID:TmRS1aaH _process()は止まるけど_input()側で入力受付出来なかったっけ
func _input(event):
if event.is_action_pressed(入力キー):
get_tree().paused = !get_tree().paused
func _input(event):
if event.is_action_pressed(入力キー):
get_tree().paused = !get_tree().paused
810名前は開発中のものです。
2024/01/28(日) 06:22:43.03ID:pEcrIiHG ありがとうございます
ポーズ画面作る場合はpausedを使うのでいいんですかね?
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready():
get_tree().paused = true
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _input(event):
if Input.is_key_pressed(KEY_A):
get_tree().paused = !get_tree().paused
print("release")
今試したんですが、インプットでも受け付けないみたいです
ポーズ画面作る場合はpausedを使うのでいいんですかね?
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready():
get_tree().paused = true
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _input(event):
if Input.is_key_pressed(KEY_A):
get_tree().paused = !get_tree().paused
print("release")
今試したんですが、インプットでも受け付けないみたいです
811名前は開発中のものです。
2024/01/28(日) 06:56:49.98ID:TmRS1aaH >>810
すまねえこういう事だった
ノードのProcessModeがWhenPausedかAlwaysじゃなきゃ_processも_inputも止まると
https://docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html
ちゃんと一時停止の例まで載ってた
すまねえこういう事だった
ノードのProcessModeがWhenPausedかAlwaysじゃなきゃ_processも_inputも止まると
https://docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html
ちゃんと一時停止の例まで載ってた
812名前は開発中のものです。
2024/01/28(日) 09:59:31.41ID:pEcrIiHG813名前は開発中のものです。
2024/01/28(日) 12:20:57.94ID:pEcrIiHG gptくんグーグルより的確すぎる
814名前は開発中のものです。
2024/01/28(日) 13:07:14.42ID:pEcrIiHG func _on_body_entered(body):
fail_text.visible = true
get_tree().paused = true
await(get_tree().create_timer(2).timeout)
get_tree().reload_current_scene()
get_tree().paused = false
衝突したときにリトライ処理をさせたいのですが、こういうコードの書き方だとシーンがリロードされたあとにbodyenterdが呼ばれるので、エラーになりますよね。
シーンがリロードされる前にポーズモードを戻したら解決ですが、シーンりろーどで単純にbodyenterd関数が破棄されると考えればいいんでしょうか?
シーン周りが難しい、、、
fail_text.visible = true
get_tree().paused = true
await(get_tree().create_timer(2).timeout)
get_tree().reload_current_scene()
get_tree().paused = false
衝突したときにリトライ処理をさせたいのですが、こういうコードの書き方だとシーンがリロードされたあとにbodyenterdが呼ばれるので、エラーになりますよね。
シーンがリロードされる前にポーズモードを戻したら解決ですが、シーンりろーどで単純にbodyenterd関数が破棄されると考えればいいんでしょうか?
シーン周りが難しい、、、
815名前は開発中のものです。
2024/01/28(日) 17:01:51.13ID:pEcrIiHG 4.21になってからノード追加するときとか数秒もたつくな
816名前は開発中のものです。
2024/01/28(日) 17:51:17.28ID:pEcrIiHG スクリプトのついていないノードを複数取得して、同じ回転を適用するみたいなことは出来ないかな?
これは別シーンで作って呼び出す形でやるのかな?プレファブ的な
これは別シーンで作って呼び出す形でやるのかな?プレファブ的な
817名前は開発中のものです。
2024/01/28(日) 22:35:32.81ID:YtecBqKa Object.get_script でnullが返るノードを処理すればいいけど
グループに入れておい一括処理すればいいんでね
グループに入れておい一括処理すればいいんでね
818名前は開発中のものです。
2024/01/29(月) 05:49:50.26ID:Egx9C970819名前は開発中のものです。
2024/01/29(月) 05:57:27.51ID:Egx9C970 動きは共通で、大きさだけ変えたいなんて場合は、スクリプトだけ共通にすればいい感じだね
理解
理解
820名前は開発中のものです。
2024/01/29(月) 11:11:13.53ID:rbb+bJBP スクリプトからインスタンス化すると2つ目以降のノード名がへんてこになるからどうやって取得したもんかと思ってたけど
グループで行けたわ、なるほどありがとう
グループで行けたわ、なるほどありがとう
821名前は開発中のものです。
2024/01/29(月) 16:55:20.19ID:Egx9C970 ゲームエンジンってどれも似たようなもんかな
将来、ユニティに戻るかもしれんし
今は軽さ、手軽さ重視
pcもちょい古いしな(*´ω`*)
将来、ユニティに戻るかもしれんし
今は軽さ、手軽さ重視
pcもちょい古いしな(*´ω`*)
822名前は開発中のものです。
2024/01/29(月) 19:48:28.24ID:Egx9C970 godotってノードの一時的な無効化って出来ないのかな?
目玉マーク押すと非表示にはなるけど、コリジョンとか残ってるし
目玉マーク押すと非表示にはなるけど、コリジョンとか残ってるし
823名前は開発中のものです。
2024/01/30(火) 02:03:18.66ID:qihJ4G8z 基本的には似たようなもん
覚えた要素がアップデートで変わるだけで混乱する人も居るので人による
覚えた要素がアップデートで変わるだけで混乱する人も居るので人による
824名前は開発中のものです。
2024/01/30(火) 10:12:53.04ID:94z45r+P825名前は開発中のものです。
2024/01/30(火) 12:17:23.37ID:94z45r+P 動く床と壁粘着ってけっこうめんどいな
動く方向が同じだとひっついてトレなくなる
動く方向が同じだとひっついてトレなくなる
826名前は開発中のものです。
2024/02/01(木) 10:46:34.11ID:d1tWUBD1 エラーしたコード書くとウインドウがフリーズするけども、いちいち閉じるのが面倒なんですが、unityのようにエラーがあったらプレイ出来ないような設定にできますかね?
827名前は開発中のものです。
2024/02/01(木) 13:03:53.68ID:RbvII5uE 状況が判らないなエラーコード書いたらハイライト表示されてフリーズはしないが
828名前は開発中のものです。
2024/02/01(木) 15:11:31.28ID:d1tWUBD1 親ノードのスクリプトから子ノードを取得して、子ノード(rigidbody2d)のメソッドを使いたいのですが、この場合はオートコンプリートは出ないものですか?(apply_impulse)
子ノードにスクリプトつけて、そこからなら効くんですが
>>827
プレイ画面のことでした
エディターのエラーを見て実行しなければいいだけなんですけどもね
子ノードにスクリプトつけて、そこからなら効くんですが
>>827
プレイ画面のことでした
エディターのエラーを見て実行しなければいいだけなんですけどもね
829名前は開発中のものです。
2024/02/01(木) 15:57:12.68ID:RbvII5uE ノードをget_nodeで取得していると仮定するとこうかな
var node = get_node(path) as RigidBody2D
エラーがあっても可能な限り止まらないで動作させるポリシーらしいので
動かす動かさないは利用者に委ねられるのでしょう
var node = get_node(path) as RigidBody2D
エラーがあっても可能な限り止まらないで動作させるポリシーらしいので
動かす動かさないは利用者に委ねられるのでしょう
830名前は開発中のものです。
2024/02/01(木) 19:13:23.54ID:wFSVR3t/ みんなgodotでシコシコどんなゲーム作ってるん?
ちなみに俺は何も作ってない
ちなみに俺は何も作ってない
831名前は開発中のものです。
2024/02/01(木) 19:51:19.77ID:d1tWUBD1832名前は開発中のものです。
2024/02/01(木) 20:58:13.75ID:2YEqIkXl var a : RigidBody2D
こうじゃないの
ダックタイピングしないときは型は書いた方がいい、可読性が全然違う
こうじゃないの
ダックタイピングしないときは型は書いた方がいい、可読性が全然違う
833名前は開発中のものです。
2024/02/01(木) 21:13:34.80ID:Fw0MlK/N 短くしたかったので一行に纏めたのが良くなかった
宣言と初期設定と使用が分かれるならこんな感じ
_readyの中で型指定しても_processからは見えないから上位で型指定する
var node:RigidBody2D
func _ready()
node = get_node(path)
func _process(_delta):
node.apply_impulse(impuls)
宣言と初期設定と使用が分かれるならこんな感じ
_readyの中で型指定しても_processからは見えないから上位で型指定する
var node:RigidBody2D
func _ready()
node = get_node(path)
func _process(_delta):
node.apply_impulse(impuls)
834名前は開発中のものです。
2024/02/01(木) 22:23:33.00ID:9xF8Tfdc835名前は開発中のものです。
2024/02/02(金) 00:02:58.39ID:csXE6Gch 自分はreadyの中でよそのシーンをインスタンス化しても何故かシーンツリーに登録されないから
だんだんready使わなくなったなあ
readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか
だんだんready使わなくなったなあ
readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか
836名前は開発中のものです。
2024/02/02(金) 01:00:55.38ID:1cSrS8bV 多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど
837名前は開発中のものです。
2024/02/02(金) 01:57:44.07ID: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なタイミングがスクリプトより遅いとかそんな感じなのかな
こんな感じに書き換えたら行けましたぞ
ありがとう!
func _ready():
node = node_scene.instaniate()
get_tree().root.call_deferred("add_child, node)
ちなみにルートにぶら下げないで、単に
func _ready():
node = node_scene.instaniate()
add_child(node)
って書いても無事にインスタンス化された
ルートの準備okなタイミングがスクリプトより遅いとかそんな感じなのかな
838名前は開発中のものです。
2024/02/02(金) 02:19:14.30ID:1cSrS8bV root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか?
ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる
なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う
add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め
ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる
なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う
add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め
839名前は開発中のものです。
2024/02/02(金) 02:27:59.11ID:1cSrS8bV ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず
root直下のノード群は最初に取得済となって後から追加しても無視されると思われる
root直下のノード群は最初に取得済となって後から追加しても無視されると思われる
840名前は開発中のものです。
2024/02/02(金) 05:57:16.86ID:KtCPrk0G >>833
ありがとう
自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。
あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね
ありがとう
自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。
あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね
841名前は開発中のものです。
2024/02/02(金) 11:21:24.43ID:HJWQqSOJ842名前は開発中のものです。
2024/02/02(金) 13:26:01.70ID:1cSrS8bV >>840
ノードの型は実行時に取得するまで判らないので編集時はコードから判断される
型指定は宣言時に自分で行う
宣言時に初期設定も終わらせるなら
var rigidbody := get_node(path) as RigidBody2D
で宣言時の型指定を省略できる
付け忘れ対策はlintの様な外部ツールを使うしかないと思う
便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる
GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う
ノードの型は実行時に取得するまで判らないので編集時はコードから判断される
型指定は宣言時に自分で行う
宣言時に初期設定も終わらせるなら
var rigidbody := get_node(path) as RigidBody2D
で宣言時の型指定を省略できる
付け忘れ対策はlintの様な外部ツールを使うしかないと思う
便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる
GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う
843名前は開発中のものです。
2024/02/02(金) 13:56:07.61ID:SAYqJfSZ >>842
調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい
使うならエディタ設定の型ヒントをオンにしたほうが良さそう
他にも使えそうな警告がいっぱいあった
調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい
使うならエディタ設定の型ヒントをオンにしたほうが良さそう
他にも使えそうな警告がいっぱいあった
844名前は開発中のものです。
2024/02/02(金) 14:04:57.68ID:1cSrS8bV エディタの設定だと思ってプロジェクトの方見てなかったありがとう
845名前は開発中のものです。
2024/02/02(金) 14:30:28.27ID:KtCPrk0G >>842
明治してやらないと駄目なんですね そう受け入れます
untyped decralationを設定したらそうなりました
ありがとう(*´ω`*)
unityと併用すること考えたら型付けしといたほうがいいですね
明治してやらないと駄目なんですね そう受け入れます
untyped decralationを設定したらそうなりました
ありがとう(*´ω`*)
unityと併用すること考えたら型付けしといたほうがいいですね
846名前は開発中のものです。
2024/02/02(金) 14:41:20.81ID:KtCPrk0G スクリプトのデフォルトコードって型付けされたものになるもんですか?
自分の環境ではならないです
自分の環境ではならないです
847名前は開発中のものです。
2024/02/02(金) 14:51:05.77ID:bD7U8OGn ローグライクみたいなコテコテの2DRPGならjs使えるツクールの方が向いてるんじゃないの
作るなとは言わんけどシステム的に要求が多すぎて挫折しがち
作るなとは言わんけどシステム的に要求が多すぎて挫折しがち
848名前は開発中のものです。
2024/02/02(金) 15:21:56.69ID:1cSrS8bV 試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ
他のIgnoreになってる設定を有効にすると更にキツイ
自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな
>>846
デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる
var a #Variant型になる
var a = 0 #Variant型になる
var a:int = 0 #int型になる
var a: = 0 #設定値の型が適用されるつまりint型になる
他のIgnoreになってる設定を有効にすると更にキツイ
自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな
>>846
デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる
var a #Variant型になる
var a = 0 #Variant型になる
var a:int = 0 #int型になる
var a: = 0 #設定値の型が適用されるつまりint型になる
849名前は開発中のものです。
2024/02/02(金) 15:29:23.51ID:bD7U8OGn 型付けもライフサイクルもドキュメント見りゃ大体丁寧に書いてあるけど皆そんなドキュメント見ないのかな
850名前は開発中のものです。
2024/02/02(金) 15:36:21.15ID:zgD08SYH 他の言語触った事ない(GDが初めて)ならドキュメントの見方読み方もよくわかんないんじゃない
851名前は開発中のものです。
2024/02/02(金) 15:42:57.64ID:1cSrS8bV 自分で調べられる人は質問しないから質問が多く見えるのだと思う
852名前は開発中のものです。
2024/02/02(金) 16:00:24.46ID:Qx6M1fJu あくまで主観だけどGodotのドキュメントは他の言語に比べて大分分かりやすい方だと思う
質問多いのは構わないけど書いてあるのに読まない知らないはドキュメントが勿体ないなと
質問多いのは構わないけど書いてあるのに読まない知らないはドキュメントが勿体ないなと
853名前は開発中のものです。
2024/02/02(金) 16:06:24.58ID:1cSrS8bV Godotのドキュメントは読みやすいし使いやすいと思うが
使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな
調べ方を書いても反応なかったのでどうしていいか判らんな
使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな
調べ方を書いても反応なかったのでどうしていいか判らんな
854名前は開発中のものです。
2024/02/02(金) 16:17:53.99ID:SAYqJfSZ デフォルトコードうんぬんはエディター設定の型ヒントを追加のやつじゃないかな
スクリプトテンプレートにも型が付くようになる
スクリプトテンプレートにも型が付くようになる
855名前は開発中のものです。
2024/02/02(金) 16:28:33.73ID:1cSrS8bV あーそういうことね完全に理解した
856名前は開発中のものです。
2024/02/02(金) 17:38:12.48ID:KtCPrk0G >>848
スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば
しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか?
そのほうがトラブルは少なそうですが
スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば
しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか?
そのほうがトラブルは少なそうですが
857名前は開発中のものです。
2024/02/02(金) 18:18:56.37ID:1cSrS8bV858名前は開発中のものです。
2024/02/02(金) 18:40:18.28ID:KtCPrk0G >>857
どうも、英語情報調べてるだけじゃ分からん情報でありがたい
このスレも賑わって嬉しい
1週間程度のそんな大きくないプロジェクトなので、untyped declarationなしで、部分的に型付けを使う方式にしたいと思います
混合しないほうがいいのかもですが
どうも、英語情報調べてるだけじゃ分からん情報でありがたい
このスレも賑わって嬉しい
1週間程度のそんな大きくないプロジェクトなので、untyped declarationなしで、部分的に型付けを使う方式にしたいと思います
混合しないほうがいいのかもですが
859名前は開発中のものです。
2024/02/02(金) 21:32:41.15ID:KtCPrk0G godoもなんかたまに重いことがあるな
本体とプロジェクトのサイズが小さいだけで、動作の軽快さってのはそんな変わらん?
本体とプロジェクトのサイズが小さいだけで、動作の軽快さってのはそんな変わらん?
860名前は開発中のものです。
2024/02/02(金) 22:23:34.27ID:1cSrS8bV GDScriptは他のコンパイル言語と比べて処理速度は遅い
速度が必要な処理はC#やGDExtensionで多言語に処理を投げる
がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う
プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない
プロファイラーを使うか自前コードで計測して遅い部分を把握する
https://docs.godotengine.org/ja/4.x/tutorials/scripting/debug/the_profiler.html
適当エスパーしとくと
_processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない
リソースは動的に呼び出さない参照は最短で最低限にする
高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない
速度が必要な処理はC#やGDExtensionで多言語に処理を投げる
がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う
プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない
プロファイラーを使うか自前コードで計測して遅い部分を把握する
https://docs.godotengine.org/ja/4.x/tutorials/scripting/debug/the_profiler.html
適当エスパーしとくと
_processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない
リソースは動的に呼び出さない参照は最短で最低限にする
高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない
861名前は開発中のものです。
2024/02/02(金) 22:29:30.47ID:zgD08SYH 多分エディタの動作の話だと思う
862名前は開発中のものです。
2024/02/02(金) 22:38:56.98ID:1cSrS8bV エディタだと大本の環境依存すぎて難しいな不便だけど自動補完を切るとかかな?
863名前は開発中のものです。
2024/02/02(金) 23:26:26.89ID:1cSrS8bV 環境の話題ついでだけどAndroidでもRaspberryPiでも動くから
重くて不便な環境で嫌気差す可能性もあるが
安上りな教育環境として利用できるかもしれないと思いましたまる
重くて不便な環境で嫌気差す可能性もあるが
安上りな教育環境として利用できるかもしれないと思いましたまる
864名前は開発中のものです。
2024/02/03(土) 06:30:44.33ID:AdVKjLlX バージョン4になってから微妙にもたつく様になったと思う
unityとエディタの重さ自体は変わらん感じ
プロジェクトの小ささはいいけどね
unityとエディタの重さ自体は変わらん感じ
プロジェクトの小ささはいいけどね
865名前は開発中のものです。
2024/02/03(土) 10:56:58.90ID:AdVKjLlX gptがコードの間違い探してくれるのは助かる
無能だからコードのエラーが解決出来ない
無能だからコードのエラーが解決出来ない
866名前は開発中のものです。
2024/02/03(土) 12:41:18.07ID:nzYZB8x1 エディタはUIを詰めれる感じはするね
Unityからくると余白の大きさにびっくりする
あとアニメ画面が操作メニューと設定同じ位置に表示されてたり(Ver3のがマシ)
日本語表示でFPS隠れてたり
Unityからくると余白の大きさにびっくりする
あとアニメ画面が操作メニューと設定同じ位置に表示されてたり(Ver3のがマシ)
日本語表示でFPS隠れてたり
867名前は開発中のものです。
2024/02/03(土) 14:51:55.13ID:xJ6rlQCu 3万円で買った6年前のThinkPadでも余裕で動く
何ならブラウザで30個タブ開いてチュートリアル動画流しながらでもギリ動く
何ならブラウザで30個タブ開いてチュートリアル動画流しながらでもギリ動く
868名前は開発中のものです。
2024/02/03(土) 15:24:11.77ID:AdVKjLlX しかし、軽くてありがてぇ
シンプルでありがてぇ
unityはメニュー多すぎてパンクする
シンプルでありがてぇ
unityはメニュー多すぎてパンクする
869名前は開発中のものです。
2024/02/03(土) 18:17:19.42ID:AdVKjLlX staticobdyって当たり判定にはあまり使わない?
area2dのほうがそれ用のシグナル多いし
すり抜けじゃなくて、衝突はさせたい
area2dのほうがそれ用のシグナル多いし
すり抜けじゃなくて、衝突はさせたい
870名前は開発中のものです。
2024/02/04(日) 12:38:01.58ID:SE6INxAw871名前は開発中のものです。
2024/02/04(日) 16:48:41.77ID:SE6INxAw コリジョンマスクって衝突させるものと、衝突されるものを、双方向に指定しないと挙動がおかしくなるもの?
片方からのみ指定すると挙動がおかしい
ただ、単にすり抜けるなら分かるけど、衝突はするという
ただ、衝突の結果がおかしい
片方からのみ指定すると挙動がおかしい
ただ、単にすり抜けるなら分かるけど、衝突はするという
ただ、衝突の結果がおかしい
872名前は開発中のものです。
2024/02/05(月) 10:42:11.01ID:SIExHF/s 衝突判定で使うオブジェクトの違いはここら辺読めば良いんじゃない?
https://www.reddit.com/r/godot/comments/9a56vs/area2d_vs_kinematicbody2d_vs_rigidbody2d/
https://code.luasoftware.com/tutorials/godot/godot-area2d-vs-staticbody2d-ve-rigidbody2d-vs-kinematicbody2d
PhysicsBodyが衝突したとき片方はMaskオンで片方はMaskオフの場合
Maskオンは接触の影響を受けMaskオフは影響を受けない(ほぼStaticBodyと同じ)
https://www.reddit.com/r/godot/comments/9a56vs/area2d_vs_kinematicbody2d_vs_rigidbody2d/
https://code.luasoftware.com/tutorials/godot/godot-area2d-vs-staticbody2d-ve-rigidbody2d-vs-kinematicbody2d
PhysicsBodyが衝突したとき片方はMaskオンで片方はMaskオフの場合
Maskオンは接触の影響を受けMaskオフは影響を受けない(ほぼStaticBodyと同じ)
873名前は開発中のものです。
2024/02/05(月) 11:15:04.43ID:SIExHF/s selfで補完されるものはconstやstatic指定された静的な物でメンバーが出ないのは理由があるのだろう
ピリオド押せばメンバーは表示される
そうでなければvar _self: = selfと変数宣言して_selfでアクセスすればそれっぽい結果は得られる
ピリオド押せばメンバーは表示される
そうでなければvar _self: = selfと変数宣言して_selfでアクセスすればそれっぽい結果は得られる
874名前は開発中のものです。
2024/02/05(月) 13:14:04.42ID:Xd01vtLL875名前は開発中のものです。
2024/02/05(月) 13:14:53.16ID:Xd01vtLL876名前は開発中のものです。
2024/02/05(月) 13:18:19.63ID:Xd01vtLL GDScriptは
ほとんどPython
でも
defではなくfunc
変数も宣言しないと使えない
この辺りはゲームエンジンに必要な
処理速度に合わせている
ほとんどPython
でも
defではなくfunc
変数も宣言しないと使えない
この辺りはゲームエンジンに必要な
処理速度に合わせている
877名前は開発中のものです。
2024/02/05(月) 13:22:19.50ID:Xd01vtLL Godot 2.0の頃から
ダウンロードしていたけど
Unity炎上の敵失とはいえ
5ch.netで
Godotを
議論する
時代が来るとは
驚きです。
ダウンロードしていたけど
Unity炎上の敵失とはいえ
5ch.netで
Godotを
議論する
時代が来るとは
驚きです。
878名前は開発中のものです。
2024/02/05(月) 14:12:42.41ID:qsxLl75u879名前は開発中のものです。
2024/02/05(月) 14:27:58.42ID:Xd01vtLL880名前は開発中のものです。
2024/02/05(月) 14:32:09.55ID:qsxLl75u 個人制作レベルで速度を気にしなくてもいいかなと、今のところ考えてます
まず完成目指さないと自分は
まず完成目指さないと自分は
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 台湾有事での集団的自衛権行使に賛成48%、「反対」が44.2% ★2 [♪♪♪★]
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★13 [BFU★]
- 【サッカー】「国立ガラガラじゃん!」 「タダ券ばら撒かないんだっけ?」天皇杯決勝、6万7750人収容のスタンドに目立つ空席 [鉄チーズ烏★]
- 【淡路島】88歳男が好意を理由に60歳女性宅へ侵入か 「下の毛がほしい」不適切メモを残す ストーカー容疑で再逮捕 洲本市 [nita★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… [尺アジ★]
- 【NHK】受信料の未払い督促を10倍に強化… 支払い拒否が続くと民事手続きも 「カーナビも受信料いただきます」方針 [冬月記者★]
- 他サポ 2025-261
- 他サポ 2025-260
- 2025 SUPER FORMULA Lap18
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1807
- 京都競馬4回5日目エリザベス女王杯★3
- 福島競馬3回5日目
- 大河ドラマ『高市早苗』👈ありがちなこと [804169411]
- 高市ソルジャー、国連の敵国条項を持ち出すのは卑怯だと中国大使館にブチギレ [931948549]
- ネトウヨですら高市早苗首相をそんな評価してないとの声。SNSの熱量が少ない。 [253245739]
- 日本人の73%「中国が嫌い」日本の右傾化止まらない [165981677]
- 【高市悲報】中国、南アフリカを味方につけてイキる [614650719]
- 日本人の48%覚悟完了… [819729701]
