[過去ログ] 【軽量】godot engine - part2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
768: 2024/01/23(火)10:18 ID:GewL3mCg(1/4) AAS
しかし、ゲーム完成しない、、、
完成させる力が足りない
769
(1): 2024/01/23(火)11:02 ID:cjSyBROw(1) AAS
ゲームって何だかんだプログラム組むより素材集めがダルいよね
イメージと違ったり欲しい物がなかったりすると自作する必要出てくるし
770: 2024/01/23(火)11:31 ID:qDAbGc4B(1) AAS
>>769
ほんとそれ
プログラミングは楽しすぎる
771: 2024/01/23(火)11:35 ID:GewL3mCg(2/4) AAS
形とか色とか制限してる
ブロックだけ、色は黒だけとか

あとから差し替えられるし
772: 2024/01/23(火)14:24 ID:nuTPDLfr(1/2) AAS
エンジニア寄りの人がゲーム作ろうとするとアセットで詰まるんよな
プログラム興味ないけど絵描くの好きみたいな人のほうがツクールやノベルツールでどんどんゲーム完成させるっていうね
773: 2024/01/23(火)14:39 ID:GewL3mCg(3/4) AAS
そうなんか
774: 2024/01/23(火)14:57 ID:TUdhp1iX(1) AAS
ノベルゲーとかツクールのシステムまんまのゲームならUI用意されてるからこだわりなければそのまま使えるけど自分でUI作ろうとするとほぼお手上げ状態
ゲームに合う素材探しもめんどくさいし見やすいUIの組み方もわからない
775: 2024/01/23(火)15:06 ID:GewL3mCg(4/4) AAS
まあデザイナーの才能ないからすべてオリジナルにする必要ないし、オリキャラだけオリジナルとかね?
776
(1): 2024/01/23(火)15:49 ID:nuTPDLfr(2/2) AAS
素材間の絵柄やクオリティに統一感が必要だし
自キャラ、敵キャラ、背景、UI、エフェクト、タイトルロゴetc
それらすべてが調和してる必要があるので、既存の素材を使うと調整が大変だよ
777: 2024/01/24(水)06:06 ID:ePb8v5e+(1/4) AAS
気分転換としてバックルームのモデリングしてる
778: 2024/01/24(水)06:06 ID:ePb8v5e+(2/4) AAS
>>776
そうだね
ただ完成しないよりはいいと思う
779: 2024/01/24(水)13:06 ID:ePb8v5e+(3/4) AAS
ゲーム開発っって当初の構想を脱線しないほうがいいよね
あれもいい、これもいい となりがち
より良いと思えても後回しかな
780
(1): 2024/01/24(水)15:09 ID:9CQ/w45K(1/2) AAS
ボタンをクリックしたらラベルの文字を変えるって処理はできたのですが
同時に画像を変更する(ノベルゲーのキャラの立ち絵の表情を変える)って
処理はどの辺のチュートリアル読めばできるようになるんでしょうか?
シーンを作って呼び出すのがいいのか、スクリプト(今はこっち)でやればいいのかもわかりません
781
(1): 2024/01/24(水)15:25 ID:ePb8v5e+(4/4) AAS
>>780
シグナルじゃないですか?
782: 2024/01/24(水)18:21 ID:9CQ/w45K(2/2) AAS
>>781
レスありがとうございます!
シグナルっぽいので勉強してみます。
783
(1): 2024/01/25(木)15:23 ID:77Oz3RL7(1) AAS
中学生頑張ってるな
外部リンク:booth.pm
784: 2024/01/25(木)21:16 ID:kXZori1n(1) AAS
Resourceクラスを継承したオリジナルのstatus.tresを作成し、それをベースキャラクターノードの派生ノードに保持させる事で擬似的なコンポーネントパターンのようなものを実現したと思っていました
しかしこれらは設計として非常に便利なのですが、保持している変数が同じ値を参照してしまいspankbangます
そのせいで別々に実体化した敵キャラが同時に死んだり、同じタイミングでqueue_free()
されてしまい困ります
これを防ぐにはどうしたら良いのでしょうか……?
Resourceを個別に実体化する等はは可能なのでしょうか?
どうか教えていただきたいです
省11
785: 2024/01/25(木)22:52 ID:axJhZZr6(1) AAS
え?リソースを直接書き換えてるってこと?
定数データとして扱うか、
敵の数分リソース作るかじゃないの
786
(1): 2024/01/26(金)00:59 ID:d6qv4EnY(1) AAS
インスペクターでstatus.tresクリックしてResourceのresource_local_to_sceneにチェックいれてみるとか?
787: 2024/01/26(金)09:31 ID:pEZdi1Q8(1) AAS
>>786
この方法でズバっと解決しました!
助かりますありがとうございます😭

色々な方法を考えていただいた方々にもお礼申し上げます🙇
788: 2024/01/26(金)13:05 ID:xQgIMHCZ(1) AAS
逆に見た目から作るのもありなのかな?
ホワイトボックスだと面白くないものな
789: 2024/01/26(金)17:31 ID:V6GPPkOR(1) AAS
>>783
中学生がこんなの書いてるのか、すごいな・・・
ペーペーだから買ってみようかな
790: 2024/01/26(金)19:17 ID:4q31+VlN(1) AAS
ゲームのルールが思いつかない
791: 2024/01/27(土)03:19 ID:iAyWuXN8(1/2) AAS
一般書にない様なニッチな本とか技術書展では結構出てるからBOOTHはマイナー技術関連の漁り場にしてる
792: 2024/01/27(土)06:26 ID:23WZBn1j(1/4) AAS
確かに凄いが初心者向けの本でSwitchでゲームが動くってのは誇張表現じゃないかなと思うな
こないだ本屋でGodotの解説書が売っているの見たし流れ来てるな
793: 2024/01/27(土)06:39 ID:JYsp1BmQ(1/5) AAS
clamp関数とかprint関数とか、どの言語にでもあるような基礎的な関数?ってのは、リファレンスにはないのが普通なんですかね?
794
(1): 2024/01/27(土)07:13 ID:23WZBn1j(2/4) AAS
リファレンスとはどこの何を指して言ってる?ここに書いてあるぞ
外部リンク[html]:docs.godotengine.org
ゲームエンジンだから何でも揃っている訳でもないな
795
(1): 2024/01/27(土)09:21 ID:JYsp1BmQ(2/5) AAS
低スペには最高のエンジンだね
 ありがたい

>>794
そうです 公式のリファレンスにないかなと
796
(1): 2024/01/27(土)09:37 ID:JTv+Mbby(1) AAS
>>795
外部リンク[html]:docs.godotengine.org
外部リンク[html]:docs.godotengine.org
797: 2024/01/27(土)09:51 ID:23WZBn1j(3/4) AAS
ここに書いてある
外部リンク[html]:docs.godotengine.org
「はじめに」にはこう書かれている
外部リンク[html]:docs.godotengine.org
>クラスリファレンスのドキュメントがエンジンのスクリプトエディター内から直接閲覧できるようになりました。
>すべてのクラス、関数、シグナル等の情報をここで見つけることができます。
[ヘルプを検索]を選べば検索ウインドウが開く
省1
798: 2024/01/27(土)09:53 ID:23WZBn1j(4/4) AAS
間違えたMiddleでなくてLeftだ
799: 2024/01/27(土)10:02 ID:JYsp1BmQ(3/5) AAS
>>796
ありがとう
こういうのはエンジン特有の関数でもないって扱いなんですかね
800: 2024/01/27(土)13:26 ID:wV1JVaXK(1) AAS
この手の数学関数とかはどこでも必須なのであるよ
801: 2024/01/27(土)13:51 ID:JYsp1BmQ(4/5) AAS
ありがとう 頑張って完成させるど クソゲーを
802: 2024/01/27(土)16:39 ID:JYsp1BmQ(5/5) AAS
godotに戻ってきて良かった
軽いのは正義
開発へのハードルが低くなる
803: 2024/01/27(土)18:57 ID:iAyWuXN8(2/2) AAS
エディターの構成とかスクリプトとの連携とか全体的にGodotの方が洗練されてるんだよな
Unityはデファクトスタンダードでアセット類が多いってだけで作り的には大分とっ散らかってる
804
(1): 2024/01/28(日)00:05 ID:ikqtEjYO(1/2) AAS
キャラクターボディとスタティックボディの衝突シグナルはどうやれば取れますか?
ドキュメントを探してみましたがそれらしいものがリジッドボディしか見つからず困っています
805
(1): 2024/01/28(日)00:31 ID:gcvmSnRI(1) AAS
>>804
シグナルじゃなくてmove_and_なんとかの返り値や関連メソッドで判別する
806: 2024/01/28(日)00:51 ID:ikqtEjYO(2/2) AAS
>>805
ありがとう 無事見つかりました
807: 2024/01/28(日)02:59 ID:JWmTbwcH(1) AAS
他ツールでも結局最終的に頼りにしてるのは公式ドキュメントのサンプルコードな自分
個人サイトとかだと参考にはなれど権利とかライセンスがとかめんどくさくてさあ
808: 2024/01/28(日)05:59 ID:pEcrIiHG(1/7) AAS
get_tree().paused = trueでポーズ画面作ってるんですが、get_tree().paused = falseで戻せないです
入力受付なくなるのでプロセスが止まっているらしいです
入力も受け付けなくなる感じ?
809: 2024/01/28(日)06:15 ID:TmRS1aaH(1/2) AAS
_process()は止まるけど_input()側で入力受付出来なかったっけ

func _input(event):
 if event.is_action_pressed(入力キー):
  get_tree().paused = !get_tree().paused
810
(1): 2024/01/28(日)06:22 ID:pEcrIiHG(2/7) AAS
ありがとうございます
ポーズ画面作る場合は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.
省5
811
(1): 2024/01/28(日)06:56 ID:TmRS1aaH(2/2) AAS
>>810
すまねえこういう事だった
ノードのProcessModeがWhenPausedかAlwaysじゃなきゃ_processも_inputも止まると
外部リンク[html]:docs.godotengine.org

ちゃんと一時停止の例まで載ってた
812: 2024/01/28(日)09:59 ID:pEcrIiHG(3/7) AAS
>>811
ポーズモードという仕組みあるんすね
ありがとうございました
リファレンス避けてた自分が悪かたです
813: 2024/01/28(日)12:20 ID:pEcrIiHG(4/7) AAS
gptくんグーグルより的確すぎる
814: 2024/01/28(日)13:07 ID:pEcrIiHG(5/7) AAS
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が呼ばれるので、エラーになりますよね。
省2
815: 2024/01/28(日)17:01 ID:pEcrIiHG(6/7) AAS
4.21になってからノード追加するときとか数秒もたつくな
816: 2024/01/28(日)17:51 ID:pEcrIiHG(7/7) AAS
スクリプトのついていないノードを複数取得して、同じ回転を適用するみたいなことは出来ないかな?
これは別シーンで作って呼び出す形でやるのかな?プレファブ的な
817
(1): 2024/01/28(日)22:35 ID:YtecBqKa(1) AAS
Object.get_script でnullが返るノードを処理すればいいけど
グループに入れておい一括処理すればいいんでね
818: 2024/01/29(月)05:49 ID:Egx9C970(1/4) AAS
>>817
ありがとう
多分一般的なやり方じゃないですよね
同じものを使いまわしたいならプレハブ化(シーン)するのが一番ですよね
819: 2024/01/29(月)05:57 ID:Egx9C970(2/4) AAS
動きは共通で、大きさだけ変えたいなんて場合は、スクリプトだけ共通にすればいい感じだね
理解
820: 2024/01/29(月)11:11 ID:rbb+bJBP(1) AAS
スクリプトからインスタンス化すると2つ目以降のノード名がへんてこになるからどうやって取得したもんかと思ってたけど
グループで行けたわ、なるほどありがとう
821: 2024/01/29(月)16:55 ID:Egx9C970(3/4) AAS
ゲームエンジンってどれも似たようなもんかな
将来、ユニティに戻るかもしれんし

今は軽さ、手軽さ重視
pcもちょい古いしな(*´ω`*)
822
(1): 2024/01/29(月)19:48 ID:Egx9C970(4/4) AAS
godotってノードの一時的な無効化って出来ないのかな?
目玉マーク押すと非表示にはなるけど、コリジョンとか残ってるし
823
(1): 2024/01/30(火)02:03 ID:qihJ4G8z(1) AAS
基本的には似たようなもん
覚えた要素がアップデートで変わるだけで混乱する人も居るので人による
824: 2024/01/30(火)10:12 ID:94z45r+P(1/2) AAS
>>822
目玉マークは視覚的に消すだけなんだね
コリジョンなんかの機能を消すには、プロセスのdisableか

>>823

どうも
825: 2024/01/30(火)12:17 ID:94z45r+P(2/2) AAS
動く床と壁粘着ってけっこうめんどいな
動く方向が同じだとひっついてトレなくなる
826: 2024/02/01(木)10:46 ID:d1tWUBD1(1/3) AAS
エラーしたコード書くとウインドウがフリーズするけども、いちいち閉じるのが面倒なんですが、unityのようにエラーがあったらプレイ出来ないような設定にできますかね?
827
(1): 2024/02/01(木)13:03 ID:RbvII5uE(1/2) AAS
状況が判らないなエラーコード書いたらハイライト表示されてフリーズはしないが
828: 2024/02/01(木)15:11 ID:d1tWUBD1(2/3) AAS
親ノードのスクリプトから子ノードを取得して、子ノード(rigidbody2d)のメソッドを使いたいのですが、この場合はオートコンプリートは出ないものですか?(apply_impulse)
子ノードにスクリプトつけて、そこからなら効くんですが

>>827
プレイ画面のことでした
エディターのエラーを見て実行しなければいいだけなんですけどもね
829
(1): 2024/02/01(木)15:57 ID:RbvII5uE(2/2) AAS
ノードをget_nodeで取得していると仮定するとこうかな
var node = get_node(path) as RigidBody2D

エラーがあっても可能な限り止まらないで動作させるポリシーらしいので
動かす動かさないは利用者に委ねられるのでしょう
830
(1): 2024/02/01(木)19:13 ID:wFSVR3t/(1) AAS
みんなgodotでシコシコどんなゲーム作ってるん?
ちなみに俺は何も作ってない
831: 2024/02/01(木)19:51 ID:d1tWUBD1(3/3) AAS
>>829
その書き方でいけました
しかし、readyの中だと出るのにprocessの中だとでません
これって正常な仕様なんでしょうか?
832: 2024/02/01(木)20:58 ID:2YEqIkXl(1) AAS
var a : RigidBody2D
こうじゃないの
ダックタイピングしないときは型は書いた方がいい、可読性が全然違う
833
(1): 2024/02/01(木)21:13 ID:Fw0MlK/N(1) AAS
短くしたかったので一行に纏めたのが良くなかった
宣言と初期設定と使用が分かれるならこんな感じ
_readyの中で型指定しても_processからは見えないから上位で型指定する
var node:RigidBody2D
func _ready()
node = get_node(path)
func _process(_delta):
省1
834
(1): 2024/02/01(木)22:23 ID:9xF8Tfdc(1) AAS
>>830
寒いからやってない
ローグライクゲームのダッシュって実装がめんどくさいな
835: 2024/02/02(金)00:02 ID:csXE6Gch(1/2) AAS
自分はreadyの中でよそのシーンをインスタンス化しても何故かシーンツリーに登録されないから
だんだんready使わなくなったなあ
readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか
836
(1): 2024/02/02(金)01:00 ID:1cSrS8bV(1/13) AAS
多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど
837: 2024/02/02(金)01:57 ID:csXE6Gch(2/2) AAS
>>836
こんな感じに書き換えたら行けましたぞ
ありがとう!
func _ready():
node = node_scene.instaniate()
get_tree().root.call_deferred("add_child, node)

ちなみにルートにぶら下げないで、単に
省5
838: 2024/02/02(金)02:19 ID:1cSrS8bV(2/13) AAS
root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか?
ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる
なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う
add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め
839: 2024/02/02(金)02:27 ID:1cSrS8bV(3/13) AAS
ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず
root直下のノード群は最初に取得済となって後から追加しても無視されると思われる
840
(1): 2024/02/02(金)05:57 ID:KtCPrk0G(1/6) AAS
>>833
ありがとう
自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。

あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね
841: 2024/02/02(金)11:21 ID:HJWQqSOJ(1) AAS
>>834
ダッシュって次の曲がり角までスキップ(早回し?)するアレ?
ローグライクって周りのマス参照したりターン制御したりダンジョン自動生成したり複雑だよな
俺も作ってみるか
842
(2): 2024/02/02(金)13:26 ID:1cSrS8bV(4/13) AAS
>>840
ノードの型は実行時に取得するまで判らないので編集時はコードから判断される
型指定は宣言時に自分で行う
宣言時に初期設定も終わらせるなら
var rigidbody := get_node(path) as RigidBody2D
で宣言時の型指定を省略できる

付け忘れ対策はlintの様な外部ツールを使うしかないと思う
省2
843
(1): 2024/02/02(金)13:56 ID:SAYqJfSZ(1/2) AAS
>>842
調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい
使うならエディタ設定の型ヒントをオンにしたほうが良さそう
他にも使えそうな警告がいっぱいあった
844: 2024/02/02(金)14:04 ID:1cSrS8bV(5/13) AAS
エディタの設定だと思ってプロジェクトの方見てなかったありがとう
845: 2024/02/02(金)14:30 ID:KtCPrk0G(2/6) AAS
>>842
明治してやらないと駄目なんですね そう受け入れます
untyped decralationを設定したらそうなりました

ありがとう(*´ω`*)
unityと併用すること考えたら型付けしといたほうがいいですね
846
(1): 2024/02/02(金)14:41 ID:KtCPrk0G(3/6) AAS
スクリプトのデフォルトコードって型付けされたものになるもんですか?
自分の環境ではならないです
847: 2024/02/02(金)14:51 ID:bD7U8OGn(1/2) AAS
ローグライクみたいなコテコテの2DRPGならjs使えるツクールの方が向いてるんじゃないの
作るなとは言わんけどシステム的に要求が多すぎて挫折しがち
848
(1): 2024/02/02(金)15:21 ID:1cSrS8bV(6/13) AAS
試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ
他のIgnoreになってる設定を有効にすると更にキツイ
自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな

>>846
デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる
var a #Variant型になる
var a = 0 #Variant型になる
省2
1-
あと 154 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s