【軽量】godot engine - part2

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2021/04/30(金) 13:03:47.04ID:cptRhreJ
https://godotengine.org/
https://www.reddit.com/r/godot/

godotでクソゲー作ろうぜ!!
2024/01/12(金) 14:46:59.17ID:WKV1Ac4+
完成というのはどこまで作ることなのか分からないけどゲームとしての体裁を作り上げたことがないのであればまずはテトリスでいいから模倣で一通り作ってみるといいと思う
ゲームが始まって終わるまで作ったあとスコア表示、タイトルやハイスコアなどの別画面をどうするのかとか、実際別画面作ったらその画面遷移も必要になったりする
ハイスコアはセーブしないといけないなどゲームそのものではない周りの構築が出てくる
で、そういうのを一度やっておけば使い回せるしそのあと作り込みもできる
ゲームを作りたいならメイン画面だけ手をつければいいし、完成させたいなら先に周囲を固めておいたほうがいいと思う
693名前は開発中のものです。
垢版 |
2024/01/12(金) 16:35:53.71ID:XkTactbZ
品質が悪くとも遊べる状態なら完成と考える
品質よりもまず完成させることだろうけど長年できてないね

やっぱりコアだけに集中したほうがいいね
機能つけすぎず
2024/01/12(金) 20:30:09.99ID:NQl4G5+f
RPG作ってたけどやっぱむずい
godotに限らないけど、こういう仕組みはこうやってコード組むのが最適解ってのが分かってないと
自分流で組んでると規模が大きくなるにつれてスパゲティーコード化してぐっちゃぐちゃになるね
で、作り進めるのが困難になって挫折しそう
2024/01/12(金) 20:55:05.20ID:baRRapsN
ある程度勝手がわかった後に一から作り直せるかどうかよね
それか最初から思ったもの全部搭載するんじゃなくて小さいものを完成させつつ次に進んで活かす繰り返しの方がモチベは保てそう
2024/01/12(金) 21:59:05.77ID:qTfZI7KP
あるあるだよ
完璧に綺麗なコード目指してたら終わらないし
ゲーム自体の仕様を完全に切ってから設計するなんて難しい
例外処理が多いほど面白いって言い切るプログラマもいるから
2024/01/12(金) 23:08:28.13ID:lbzFUFKo
実際に商用のゲームのプログラムしたことあるならわかるが
はっきりいって綺麗とか完璧とかめざしてたら仕事にならない
いくらモダンで美しいプログラムを書いても、それが仕様を満たす動作をしない
つまり金にならないなら、ただのゴミプログラムにしかならない
だから、ごく一部の超一流の会社をのぞき、商用ゲームでつかわれてるコードは
クソみたいなスパゲティコードのほうがはるかに多い
2024/01/12(金) 23:37:54.23ID:HhlfnC2F
綺麗で完璧なのを目指すの自体は姿勢として正しい
優先順位としては仕様を満たしたりゲームとしての面白さの方が上ってだけ
ゲームならではかもしれないけどね
2024/01/13(土) 00:07:37.26ID:ueaT6hQZ
doomやquakeのソースは整然として完璧に見えたけどな
2024/01/13(土) 00:45:38.75ID:y7qpJ1O1
ジョン・カーマック級ならな
草野球してる人に大谷翔平を目指せって言ってるようなもの 目指すだけならできるが挫折するような事はいえないよ
まぁ外国人の方がソースは綺麗で勉強になるな
701名前は開発中のものです。
垢版 |
2024/01/13(土) 06:13:00.59ID:7HtIxGsW
自分が遊びたいものを作るのが一番だな
702名前は開発中のものです。
垢版 |
2024/01/13(土) 06:29:38.06ID:7HtIxGsW
シンプルなアクションゲームであっても、なにか1つ独自要素を入れたいんだけど、斬新な要素考えるコツとかあるかな?
それが面白いかどうかはどうだっていい 新しいことをやってみたいだけ
703名前は開発中のものです。
垢版 |
2024/01/13(土) 09:41:45.47ID:OhYcdTYk
新規開拓は先進的な考え方が求められる
なにか新しいことをやりたいのにその方法を他人に聞く時点で遅れを取ってる
まあ、ひとつ言えることはとにかくひたすら大量にアイデアを捻出して消去法で残ったものを採用する
704名前は開発中のものです。
垢版 |
2024/01/13(土) 09:42:45.08ID:OhYcdTYk
一言で言えばサンコーレアモノショップ方式だな
2024/01/13(土) 10:16:59.33ID:y7qpJ1O1
実戦空手道とブーメランを組み合わせた全く新しい格闘技みたいな斬新さ?
それでいいなら友達と酒でも飲んで酔っ払って考えるのがいい
706名前は開発中のものです。
垢版 |
2024/01/13(土) 10:35:27.64ID:7HtIxGsW
>>703
新規開拓ってほどじゃないけどね、変な要素を1ついれたい
モチベに関わる
似たようなゲームあるじゃーん、ってのが一番モチベ下がるから
2024/01/13(土) 11:33:34.50ID:gixPD08l
godot関係なくなってる

ランダムにWikipedia読むとかしてみれば?
ttp://ja.wikipedia.org/wiki/Special:Randompage
708名前は開発中のものです。
垢版 |
2024/01/13(土) 18:14:05.47ID:7HtIxGsW
うん、pinterestでも見まくる
2024/01/15(月) 01:34:16.67ID:nmbzFQ9C
2D横スクロールアクションでなんか微妙に鬱陶しい問題で困ってます

プレイヤーをY120の位置にセットしてるのに実際着地したY座標は119.9989とかになって、(毎回ちょっと変わる)
シーン実行時に is_on_floor()がfalseで開始されてしまうので、空中にいることになって
いきなり着地モーションから始まって見た目変になっちゃうんです
onreadyでglobal_positionを設定しても毎回微妙にY座標が違うので意味無し・・・

実際のステージ開始時は画面外から走ってくるとかの演出でごまかすというアイデアも考えてますが、
なんかモヤるので普通にニュートラルな立ち状態から始まる方法は何かないでしょうか?
2024/01/15(月) 02:22:16.69ID:cpKBZpzw
画面を暗くしておいて少しだけ上から落下して床に立ってから画面をフェードインさせるとかじゃダメなの?
711名前は開発中のものです。
垢版 |
2024/01/15(月) 05:15:29.78ID:NTsnhNUi
公開出来るサイトで大きなとこって
itchになるのかな?
2024/01/15(月) 09:48:36.77ID:7Tcs15ex
>>709
AnimationPlayerで変な設定してるとかじゃね?

_init()でself.position = int(round(self.position))とself.global_position = int(round(self.global_position))実行するとかやっても意味無いかな
_onready()でやっても無理なら意味無いか
713名前は開発中のものです。
垢版 |
2024/01/15(月) 15:24:41.31ID:XLqK4DGt
Godotは知恵遅れの馬鹿しか使ってないゴミゲームエンジン
2024/01/15(月) 19:04:20.62ID:+xP7pePu
ヘイトスピーチ禁止!
715名前は開発中のものです。
垢版 |
2024/01/15(月) 19:34:07.90ID:NTsnhNUi
エンジンの差異というのは重要ではない気がする
もちろんunityのほうが機能は多いだろうけど、そのせいでとっつきにくさもあるわけで
2024/01/15(月) 19:48:46.30ID:VzCMsZrr
日本語なら無難にふりーむとか?
審査に時間かかってレスポンス悪いのはちょっとあれだけどなんだかんだ人はいると思う
ブラウザゲームとか具合をすぐ確かめたい時はitchioとかのほうが絶対楽
2024/01/16(火) 02:07:35.48ID:X0Dfm/ev
>>715
俺もそう思ってたが機能だけじゃなく情報量とかコミュニティがUnityやUEと比べるとカス過ぎて逆にこっちのがとっつきにくいまである
開発元も弱いし将来性もないしUnityの一件で人口増えるかと思ったがやっぱ過疎だしgodotは負けエンジンだわ・・・と感じてる
ただ、ちゃんとしたゲーム作る人には向いてないけどやっつけクソゲーつくるエンジンとしてはアリかも
718名前は開発中のものです。
垢版 |
2024/01/16(火) 04:32:52.32ID:3zpR7O6d
日本では過疎かも 海外では良くわからんがフォーラムは賑わってるね
軽いのでモック作るのにはいいかも
719名前は開発中のものです。
垢版 |
2024/01/16(火) 04:41:11.70ID:3zpR7O6d
日本語の情報量の少なさは確かに
将来性ってのは良くわからん

医療とか建築とか色んな分野で使えるのはわかるが、自分がそこまで求めているかというと
2024/01/16(火) 08:25:00.99ID:GE83aYRd
海外は未完成のものでも自分たちで鍛え上げるって考え
日本はある程度完成されたものしか手を出さない
考え方というか文化の違いだな
Unityの初期にいわれた事のまんま
そんなに日本語資料はすぐ揃うものではないよ
技術書展で3つくらいは出てた気はするが
721名前は開発中のものです。
垢版 |
2024/01/16(火) 12:36:17.64ID:XwGANiVX
日本語の情報量が少ないと思ったらまず自分で出すのじゃ
クレクレ厨はどのコミュでも嫌われる
2024/01/16(火) 13:12:06.99ID:jTkhCjtR
オープンソースなんだから自分で読めばいいよ
行数にしてもせいぜい十数万行ぐらいだろ
数週間で全部読んで把握できるよ
723名前は開発中のものです。
垢版 |
2024/01/16(火) 13:17:23.07ID:3zpR7O6d
まあ頑張ろう 作ろう
2024/01/16(火) 20:11:03.68ID:qoy57vYG
>>710
フェードインすればいいというのは思いつきませんでした!普通にそれで行けますね
>>712
アニメーションはステートで制御して単純なスプライトのアニメだけなので大丈夫かと
物理演算的に接地座標がブレてるのでpositionでどうにかするのは難しそうです・・・

色々英語でも検索してみたけどどうやら根本的解決は無理っぽい
着地モーション作ってる人は同じ現象起きてないのかな?
2024/01/16(火) 20:56:20.98ID:Ozylxrv7
>>724
物理演算ありきのゲーム性なの?
726名前は開発中のものです。
垢版 |
2024/01/16(火) 22:53:35.16ID:IBPlOPXN
ハードルは高いよねgodotは
拘りなければ素直にunity使ったほうが幸せになれると思う
自分で言うのもなんだけどgodotに手を出す人ってマイオナをはじめどっか拗らせてるところあるでしょ
2024/01/16(火) 23:13:05.77ID:GIK7zFk3
俺はオープンソース中毒拗らせてる
SNSはMisskey、メールはProtonMail、検索はSearX
ビックテック滅びろ😡
💢😠🤜💥🔲💦💥💥
☝俺 ☝unity
728名前は開発中のものです。
垢版 |
2024/01/17(水) 05:52:20.62ID:U3uveKkI
ただ軽いから使ってる
unityはリフレッシュとかでいちいち中断されるじゃん?
2024/01/17(水) 08:07:56.93ID:2iGWj2EV
浮動小数点数についてはgodotドキュメントにfloatの項目があるよ
ごく一般的な内容だけど
コンピューターである以上は浮動小数点数に誤差は付きものなので許容誤差を見積もりながらコードを書くしかないのでは
730名前は開発中のものです。
垢版 |
2024/01/17(水) 09:15:44.53ID:U3uveKkI
godotで3dゲームという困難な道を行くのもなんか興奮する、、、

unityはね良いエンジンなんだろうけど、シンプルと程遠くて疲れる
731名前は開発中のものです。
垢版 |
2024/01/17(水) 09:16:00.36ID:U3uveKkI
制限は悪いものではないと思う
732名前は開発中のものです。
垢版 |
2024/01/17(水) 10:27:31.51ID:VQHBh6mI
>>728
それは拗らせてるよ
ツールの軽さだけに固執してる
unityだとちょっと調べたらすぐ出てくるけどgodotだと時間かかるとか
もっとトータルに見ないといけないことなのに
733名前は開発中のものです。
垢版 |
2024/01/17(水) 10:44:36.39ID:U3uveKkI
学習リソースが多いのはもちろんunityだけど、自分にとってはその部分が重要だったかな 今のとこ
少し前のcore i5にgtxだし、pcのスペックも悪くはないけどね
734名前は開発中のものです。
垢版 |
2024/01/17(水) 10:52:56.70ID:kKwz9ITx
学習リソースもアセットも多いunityを大人しく使ってた方がいいのは分かってるけど新しいものに手出すのが大好きで…
735名前は開発中のものです。
垢版 |
2024/01/17(水) 10:55:49.38ID:U3uveKkI
あ、あと英語に慣れるいい機会というのも理由としてある
2024/01/17(水) 11:12:18.75ID:SE4jTcLm
前にも書いたけどevalでdslはスクリプト言語最大のメリットだよ
737名前は開発中のものです。
垢版 |
2024/01/17(水) 13:14:23.66ID:6mpppKMB
>>709
ChractorBody2D+CollisionShape2D(Capsulesh)でやってみた
地面はStaticBody2D+Rectangle
Readyでコンソールに座標出しても誤差ないぞ

コリジョンのサイズ設定とかどうよ?
2024/01/17(水) 17:49:33.72ID:xbw/rsD5
モーション変えるコードをmove_and_slide()の後に書けばいいんじゃないの?
is_on_floor()の値はスライド後に設定される筈
739名前は開発中のものです。
垢版 |
2024/01/17(水) 19:00:01.02ID:U3uveKkI
characterbody2dに摩擦はないのかな?
壁ひっつきを作りたい

リジッドボディをキャラクターに使うといろいろ問題がでそうで
740名前は開発中のものです。
垢版 |
2024/01/17(水) 19:50:07.38ID:U3uveKkI
あー、でもスクリプトでコントロールすることを考えると、レイで壁を検知して落下を止めるってのがいいのかも
2024/01/17(水) 19:51:31.19ID:vQdUcmEM
is_on_wall()とかじゃダメなん?
2024/01/18(木) 00:15:47.35ID:Ix7LokGe
つまらないことに色々と続けてアドバイスを頂けたようで、なんかすみません・・・
色々やってみたところ、physics_processの1行目にmove_and_slide()を書き、
StaticBodyの上にキャラを乗せておくと普通に立ちポーズのまま開始できました。
しかし背景はタイルマップで作りたいのですが、タイルの上だとどうやっても着地が出ておかしくなります。
タイルのコリジョンは1ピクセルでスナップして設定して、ツール上でもピクセルスナップで置いてズレは無いはずで、

プレイヤー位置:(87, 122) false ← if not is_on_floor():でtrueになる空中判定変数をonreadyでfaiseにしておいても
(12) プレイヤー位置:(87, 122) true ←結局着地しちゃう
(94) プレイヤー位置:(87, 122) false
--- Debugging process stopped

Yが一致しててもおかしいのでさすがに諦めます・・・
しかし、スタート位置のタイルマップにStaticBodyを重ねて置いて透明にすれば問題無しです。解決しました!
743名前は開発中のものです。
垢版 |
2024/01/18(木) 06:11:26.54ID:SbvIdHMq
>>741
レイ使わなくてもこれならいけそうですね
内部的に横方向にレイ飛ばしてるのかもしれませんですが
ありがとう
744名前は開発中のものです。
垢版 |
2024/01/18(木) 06:28:12.65ID:SbvIdHMq
関係ないけどパイソンってこう構造が見づらくない?
かっこが無いからかも
745名前は開発中のものです。
垢版 |
2024/01/18(木) 11:45:13.37ID:YK7HjF9M
スクリプトで追加したノードと、シーンウインドウ上で追加したノードの、検索に反応する挙動が違ってしまい困っています

スクリプトで追加したノードをfind_childで取得したいのですが、それが検索に引っかかってくれません
デバッガーでは子ノードの配列に当該ノードの存在を確認し、検索名も合致しており、find_child関数が他のノードを取得出来ることも確認いたしました
しかしスクリプトで追加したノードのみ取得してくれません
get_childrenで配列を取得し引数に数字を与えると目当てのノードは取得できるのですが、正直この方法は使いたくありません
じょれはバグなのでしょうか?
解決方法がわかる方いらっしゃいますでしょうか?
どうかお願いいたします

簡単な図を載せておきます
Main Node◇←スクリプト
+Stage Node(動的に追加する)
+Player Node
+Enemy Node(動的に追加する)
+Timer Node
メインノードにアタッチしたスクリプトからステージノードやエネミーノードを動的に追加削除して使用します
タイマープレーヤー等は名前を合致させれば取得できるのですが、ステージエネミーは名前を合致させても取得できません
2024/01/18(木) 12:18:26.09ID:5n3HuKgw
>>744
気がつかれましたか・・・
はっきりいって大規模プログラムにはまったく向かない仕様なのがパイソン
ちょっとネストの段が深くなってくると、どこがブロックなのかよく見えなくなってくる
747名前は開発中のものです。
垢版 |
2024/01/18(木) 12:45:55.83ID:SbvIdHMq
godotで3dゲー作りたいけど、定番のアセットとかありますか?
ユニティちゃん的なやつで


>>746
ま、頑張ります!
2024/01/18(木) 12:54:05.47ID:YYGEML0W
>>744
すごい目が疲れる
行末の;がないのも地味に辛い
仕様考えた奴視力バチクソ良さそう
2024/01/18(木) 13:01:29.31ID:ubQ1hWTO
>>745
第3引数をfalseにする
750名前は開発中のものです。
垢版 |
2024/01/18(木) 13:03:10.31ID:SbvIdHMq
連投すまそ
godotにもgmクラスみたいな概念はあるんですかね?
uiやゲームの進行を管理するクラス

これは開発環境にかかわらず、プログラミングにおけるパターンなんだろうけど
2024/01/18(木) 13:13:02.88ID:YYGEML0W
あるよ。AutoLoad。
752名前は開発中のものです。
垢版 |
2024/01/18(木) 13:26:40.93ID:SbvIdHMq
>>748
んじゃああコード量が増えないようにスクリプトを分けるという考え方なの?
モジュール志向的な
753名前は開発中のものです。
垢版 |
2024/01/18(木) 14:16:39.55ID:2l1Jd13n
同じスクリプト言語ならjavascript系を採用して欲しかったよなあ
ツクールやgamemakerはその方向なのに
754名前は開発中のものです。
垢版 |
2024/01/18(木) 17:16:05.62ID:SbvIdHMq
完成させるなら見た目とか妥協しないと駄目だね
ui周りとかこだわりだすときりがない
755名前は開発中のものです。
垢版 |
2024/01/18(木) 17:58:33.78ID:SbvIdHMq
godotって他のノードはget_node使わないと駄目な感じかな?
unityみたいにpublicして、インスペクタに指定することとか出来ない?

逆にget_nodeのメリットとかあるのかな?慣れるしかないか
2024/01/18(木) 20:04:09.66ID:2cc4Q+qM
>>755
まず公式サイトのドキュメント見た方がいいよ
それできない奴はgodot触っても幸せになれない
757名前は開発中のものです。
垢版 |
2024/01/19(金) 06:01:30.08ID:gidHXOpm
クレクレなってた
悪いね
758名前は開発中のものです。
垢版 |
2024/01/19(金) 12:50:49.89ID:gidHXOpm
検索してもなかなか見つからないことはgptに聞くといいね
答えが見つかりやすい
759名前は開発中のものです。
垢版 |
2024/01/19(金) 13:29:25.74ID:gidHXOpm
ノードの取得方法なんですが、get_treeはシーンツリー全体を取得ということですか?
つまり、そのプロジェクトに含まれるルートのシーンを最上位とした、シーン全体の取得

get_tree().get_root()

とすればget_rootは1つのシーンの最上位という意味合いになるんでしょうか
ここは調べてもわからなかった
2024/01/19(金) 20:30:52.73ID:RNi0IsDv
Godot Japan User Community
https://twitter.com/godot_jp
ここでDiscordサーバーあるから分からん事聞きたいなら入ってみたらいいんじゃない?
https://twitter.com/thejimwatkins
761名前は開発中のものです。
垢版 |
2024/01/19(金) 21:38:27.19ID:uj7WVGXu
>>749
遅ればせながら、本当にありがとう上手くいきました!
恥ずかしながらリファレンスをよく読んでいなかったのと、オーナーという概念がある事、そしてスクリプトはオーナーを持たない事を初めて知った(◇selfでadd childする目的は…?)
こんなスパゲティ質問をサラッと答えられるイケメンになりたい
762名前は開発中のものです。
垢版 |
2024/01/19(金) 21:48:07.01ID:38trQaVj
>>759
NodePathクラスのページに書いてある

^"/root" # Equivalent to get_tree().get_root().
^"/root/Main" # If your main scene's root node were named "Main".

rootはGUIに表示されているシーンのノードの1段上の階層にあってゲームのウィンドウに相当する
763名前は開発中のものです。
垢版 |
2024/01/20(土) 11:23:55.84ID:xSS/e+g+
tree→root→シーンの一番上のノード、
といった構造ですよねおそらく
treeはシーンツリーのことで、シーン同士の関係図みたいなものだと理解しています
各々のシーンが持つウインドウがルートですね

この辺の図とかどこかにありますかね?
2024/01/22(月) 11:28:10.04ID:+KGs8YKc
4のドキュメントがそろうまで1年くらいスクリプトだけでゲーム作ってたけど、
戻って感じたがGodotこんなに快適だったのか

視覚的にスプライトシートから1セル切り出したり、
簡単にカメラや衝突判定が実装できるだけで天国だよ
1ドットの点やテキスト表示するだけでやたら手間がかかる短所など今考えれば些細な問題だわ
765名前は開発中のものです。
垢版 |
2024/01/22(月) 17:05:16.43ID:E8G3DP92
シンプルでいいよねunityは操作覚えるだけで大変だった
2024/01/22(月) 19:06:35.79ID:iEOSPRUj
そうなんだシンプルなんだよ
今まで商業作品作るわけでもないのに要りもしない膨大な機能を駆使しなきゃ損だと思ってややこしく考えすぎてた
ファンタジーコンソール+αぐらいの気持ちで使う方がうまく行く気がする

個人的にはコリジョン系ノードと同じくらいTimerノードが手放せないので
諸々のゲームエンジンに搭載して欲しい
2024/01/23(火) 09:50:02.10ID:Fo55SsA5
ある程度制限あるけどフリーでswitch向け出力できるようになるって
768名前は開発中のものです。
垢版 |
2024/01/23(火) 10:18:00.93ID:GewL3mCg
しかし、ゲーム完成しない、、、
完成させる力が足りない
2024/01/23(火) 11:02:00.53ID:cjSyBROw
ゲームって何だかんだプログラム組むより素材集めがダルいよね
イメージと違ったり欲しい物がなかったりすると自作する必要出てくるし
2024/01/23(火) 11:31:15.38ID:qDAbGc4B
>>769
ほんとそれ
プログラミングは楽しすぎる
771名前は開発中のものです。
垢版 |
2024/01/23(火) 11:35:16.29ID:GewL3mCg
形とか色とか制限してる
ブロックだけ、色は黒だけとか

あとから差し替えられるし
772名前は開発中のものです。
垢版 |
2024/01/23(火) 14:24:46.63ID:nuTPDLfr
エンジニア寄りの人がゲーム作ろうとするとアセットで詰まるんよな
プログラム興味ないけど絵描くの好きみたいな人のほうがツクールやノベルツールでどんどんゲーム完成させるっていうね
773名前は開発中のものです。
垢版 |
2024/01/23(火) 14:39:07.82ID:GewL3mCg
そうなんか
774名前は開発中のものです。
垢版 |
2024/01/23(火) 14:57:51.55ID:TUdhp1iX
ノベルゲーとかツクールのシステムまんまのゲームならUI用意されてるからこだわりなければそのまま使えるけど自分でUI作ろうとするとほぼお手上げ状態
ゲームに合う素材探しもめんどくさいし見やすいUIの組み方もわからない
775名前は開発中のものです。
垢版 |
2024/01/23(火) 15:06:36.98ID:GewL3mCg
まあデザイナーの才能ないからすべてオリジナルにする必要ないし、オリキャラだけオリジナルとかね?
776名前は開発中のものです。
垢版 |
2024/01/23(火) 15:49:20.27ID:nuTPDLfr
素材間の絵柄やクオリティに統一感が必要だし
自キャラ、敵キャラ、背景、UI、エフェクト、タイトルロゴetc
それらすべてが調和してる必要があるので、既存の素材を使うと調整が大変だよ
777名前は開発中のものです。
垢版 |
2024/01/24(水) 06:06:16.67ID:ePb8v5e+
気分転換としてバックルームのモデリングしてる
778名前は開発中のものです。
垢版 |
2024/01/24(水) 06:06:55.19ID:ePb8v5e+
>>776
そうだね
ただ完成しないよりはいいと思う
779名前は開発中のものです。
垢版 |
2024/01/24(水) 13:06:50.19ID:ePb8v5e+
ゲーム開発っって当初の構想を脱線しないほうがいいよね
あれもいい、これもいい となりがち
より良いと思えても後回しかな
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/w45K
>>781
レスありがとうございます!
シグナルっぽいので勉強してみます。
2024/01/25(木) 15:23:37.32ID:77Oz3RL7
中学生頑張ってるな
https://booth.pm/ja/items?tags%5B%5D=Godot+Engine
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
おそらくシグナルも同時に飛ばされている筈……
2024/01/25(木) 22:52:46.31ID:axJhZZr6
え?リソースを直接書き換えてるってこと?
定数データとして扱うか、
敵の数分リソース作るかじゃないの
786名前は開発中のものです。
垢版 |
2024/01/26(金) 00:59:46.32ID:d6qv4EnY
インスペクターでstatus.tresクリックしてResourceのresource_local_to_sceneにチェックいれてみるとか?
2024/01/26(金) 09:31:17.61ID:pEZdi1Q8
>>786
この方法でズバっと解決しました!
助かりますありがとうございます😭

色々な方法を考えていただいた方々にもお礼申し上げます🙇
788名前は開発中のものです。
垢版 |
2024/01/26(金) 13:05:50.93ID:xQgIMHCZ
逆に見た目から作るのもありなのかな?
ホワイトボックスだと面白くないものな
2024/01/26(金) 17:31:23.00ID:V6GPPkOR
>>783
中学生がこんなの書いてるのか、すごいな・・・
ペーペーだから買ってみようかな
790名前は開発中のものです。
垢版 |
2024/01/26(金) 19:17:55.73ID:4q31+VlN
ゲームのルールが思いつかない
2024/01/27(土) 03:19:51.12ID:iAyWuXN8
一般書にない様なニッチな本とか技術書展では結構出てるからBOOTHはマイナー技術関連の漁り場にしてる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況