[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 07/23 21:54 / Filesize : 257 KB / Number-of Response : 1016
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【軽量】godot engine【無料】 part3



1 名前:名前は開発中のものです。 [2024/02/17(土) 09:51:54.18 ID:lpQfy7dC.net]
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。

GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。
Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。
Godotは非営利団体Software Freedom Conservancyによって支援されております。

■公式サイト
https://godotengine.org/
■コミュニティ
https://godotengine.org/community/
■ドキュメント
https://docs.godotengine.org/ja/4.x/
■こんなのが作れるよ
https://www.youtube.com/watch?v=W1_zKxYEP6Q
https://www.youtube.com/watch?v=UAS_pUTFA7o
https://www.youtube.com/watch?v=ao34A0Y2x6c
■前スレ
【軽量】godot engine - part2
https://mevius.5ch.net/test/read.cgi/gamedev/1619755427/
★次スレは>>950がたててください

307 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 14:29:31.06 ID:ddMre8ET.net]
GDScriptでいいのか?

Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので
Pythonで複数の値を返す時に使うTupleは使えないんだとよ

方法としては2つ、Arrayで返すかDictionaryで返す

以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ

https://gd.tumeo.space/?KYDwLsB2AmDOAEA5A9tYAodBidAzArpAMbwDmwYA+gIYBOt1AnpQG7UA2+wAFAJQBc6eMPi0K+WpHgBtAIwAaeAHJAVgyA-

308 名前:BkASDEsUBmAHSyALAF1MOAsTIVK0AJZEwt5JDrM2nHgKEixYCVIBvJQBrYEZZJX4FZVDgACZI1U1tGNtbHUj9IwBfTAsSSjFqaEY+QW9hNlp4OmqAXisqWqZWDi4+CvgAB1pbSDBYblreTp6+sCH6aQAGY154LHhZUd7+ydo5OYX4dQ0V8fXpOK3FrMNOzqr4OxIG8iobx2dXVo8OkW7Vge4bkY+xtY3aQhMIRE5LfaA+zA2IJcG7SETIEhNIZcFndBAA []
[ここ壊れてます]

309 名前:名前は開発中のものです。 [2024/04/25(木) 15:44:33.49 ID:Esvk0j05.net]
ありがとう配列で値を返して、インデックス番号でとればいいんですね
これがタプルってやつですか


https://www.reddit.com/r/godot/comments/1cckdwt/how_to_return_two_value_from_function/
あと、人いねーと思っていつもの癖でマルチポストしちゃった
ごめんなさい改善します

310 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 16:12:28.75 ID:ddMre8ET.net]
マルチでもなんでも問題解決できりゃなんでもいいんだぞ
あとTupleの話は出すべきじゃなかったな、忘れてくれ

311 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 16:35:23.02 ID:lNMYdYSi.net]
流石になんでも良くはねえよ…
それぞれの場所で時間使って答えてくれてんだから

312 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 17:07:59.94 ID:7TwSlN/Q.net]
同じ質問は数日待っても解答が得られなかったらとか制限は掛けた方がいいな
redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる

313 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 17:42:32.62 ID:ddMre8ET.net]
>>306 一理ある。初心者は気を遣うことを覚えるより完成させることを優先しろ、オレの先輩の言葉

>>307 配列のIndexを返したいって話だから、Vec2はオーバーキルだと思うぞ。ぶっちゃけやってることは同じだしわかりやすい方でいいんだけどさ。This is KISS.

314 名前:名前は開発中のものです。 [2024/04/25(木) 18:26:51.75 ID:Esvk0j05.net]
すまん、どちらか一方にするよ
redditはそれにしても人多いねぇ

315 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 18:43:10.78 ID:/XEpAv2m.net]
つーかマルチポストで聞く暇あるなら少しは勉強しろよ
初歩的な問題で詰んでるなら尚更



316 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 20:20:30.32 ID:7TwSlN/Q.net]
>>308
質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる
func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i:
return cpos / size

317 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 21:13:31.21 ID:ddMre8ET.net]
おー、なるほどね!
Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ

318 名前:名前は開発中のものです。 [2024/04/26(金) 06:09:14.77 ID:1Ez+K35D.net]
>>311
すみません
なんか自己流で複雑なやり方になってる気がする
普通はキャラ座標とマップ座標の変換はやらずに、座標を1つに統一したりするんでしょうか

319 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 13:14:53.40 ID:yaANzBxw.net]
上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは
その方がセーブやアンドゥも楽になる

320 名前:名前は開発中のものです。 [2024/04/26(金) 13:46:32.39 ID:1Ez+K35D.net]
>>314
配列使わないということですか?
配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか
二次元配列を使った場合、以下のようにマップを表現すると思います
1=壁,2=キャラ、3=動かせる箱、0=動ける範囲
[
[1,2,3,0,1],
[1,0,0,0,1],
[1,1,1,1,1],
]

グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。
1pxずつ動かしたいわけじゃないので、それはその通りです。

321 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 13:52:06.26 ID:XXsncJVJ.net]
もしかしてモブはスプライト管理じゃない?

322 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 14:35:25.85 ID:/ZFKx6UF.net]
>>315
倉庫番である以上オブジェクトは必ず格子状に配置し管理される
それを2次元配列とみなす事ができる
配列を使わない場合は遠回りに配列があるのと同等の処理を行うだけ

なぜ>>314の説明で配列使わないという解釈になるのかが判らない
配列を使わない便利な魔法でもあると想像してないか?
配列を使わない方法があっても手間が増えて複雑になるだけだから配列が使われる
配列を使った方法で理解するのが定番

323 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 14:55:56.89 ID:/ZFKx6UF.net]
>>313
昔はコンソール上で動かす前提で表示もキャラクター単位だったので
配列の要素番号と表示座標の変換は不要だった
今はウインドウアプリになって表示に座標変換は必須
ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも
昔よりは複雑になり難易度上がってはいる

324 名前:名前は開発中のものです。 [2024/04/26(金) 15:42:16.89 ID:86tvu5TE.net]
絵文字使ってるので表示が上手くいかなかったらごめん

ゲームとしては全然足りないし完成させる所までが課題ではあるが
学習項目を配列のみに集約するとこの配列操作が理解できれば十分
func _ready():
var map = "🧱👷📦🚩🧱\n"
print(map)
map[3] = map[2]
map[2] = map[1]
map[1] = "◾"
print(map)

325 名前:名前は開発中のものです。 [2024/04/26(金) 15:45:16.29 ID:86tvu5TE.net]
二次元配列まで理解できたら上出来
func _ready():
var map = ["🧱🧱🧱", "🧱👷🧱", "🧱📦🧱", "🧱🚩🧱", "🧱🧱🧱", "\n"]
for c in map: print(c)
map[3][1] = map[2][1]
map[2][1] = map[1][1]
map[1][1] = "◾"
for c in map: print(c)



326 名前:我のうんちは小粒(^^ [2024/04/26(金) 17:21:02.02 ID:jKYfR5nN.net]
二次元配列って配列に配列入れるやつでふよね(^^
そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^
煽りとかいじめでいってるんじゃなくて真剣に(^^

ボッキング!(^^

327 名前:名前は開発中のものです。 [2024/04/26(金) 18:10:17.22 ID:1Ez+K35D.net]
>>317
配列でやってみます
ありがとう

昔のやり方というのは、配列の座標を書き換える→画面表示を更新、といったやり方ですよね
今のように、ぬるっと動かすことが出来ないということですね

328 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 18:28:59.68 ID:Tn7ydmJN.net]
>>322
今の奴ってどのサンプルの話?
存在しない物を今とか空想してんの?

329 名前:名前は開発中のものです。 [2024/04/27(土) 14:28:13.76 ID:RX6jyHGA.net]
フローチャートよりシンプルな図示方法ってないかな?
やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする
可といってフローチャートは難しい

330 名前:名前は開発中のものです。 [2024/04/27(土) 14:39:46.99 ID:RX6jyHGA.net]
擬似コードってのやってみますゆえ

331 名前:名前は開発中のものです。 mailto:sage [2024/04/27(土) 16:13:48.17 ID:b+RnbsA6.net]
フローチャートが難しいってどういう事

332 名前:名前は開発中のものです。 [2024/04/27(土) 17:08:49.43 ID:RX6jyHGA.net]
むずいというか、他人に説明するためのものではないので、自分だけ分かる方法でいいかなと
より簡易的であればいいです

フロチャは図形の使いこなしが苦手です

333 名前:名前は開発中のものです。 mailto:sage [2024/04/27(土) 22:14:59.66 ID:toVZIEFB.net]
>>324
plantumlが面白いかも
plantuml web serverでインストール不要で試せる
検索すればフローチャートの書き方もあるっぽいので
コピペして遊んでみては?

334 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 02:33:44.79 ID:XkoBpqzr.net]
Godotの2Dのコンセプトは3Dを2Dに見せるやり方ではないってのだけはすぐ分かるのだけど、仮想ゲームマシン的な意味での最大スペックはどこ見ればいいのだ
実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな?

他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。

335 名前:名前は開発中のものです。 [2024/04/28(日) 06:15:05.24 ID:6Dc8VXuN.net]
1つのスクリプトに書いてるんですが、コードが増えてきた場合、領域を分ける方法は関数以外にありますか?
ただ、視覚的に分けるだけでもいいです
レギオンは使えるみたいですね

>>328
どうも
擬似コード的なものを視覚化するというイメージですかね



336 名前:名前は開発中のものです。 [2024/04/28(日) 06:42:32.33 ID:6Dc8VXuN.net]
コアな機能だけモジュール化なりクラス化なりしたほうがいいのかな

337 名前:名前は開発中のものです。 [2024/04/28(日) 09:40:08.77 ID:6Dc8VXuN.net]
インデントが深くなりすぎる場合、対策はあるでしょうか。
pythonで関数をカッコで表現出来るでしょうか。

338 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 11:30:45.87 ID:KYDjUHts.net]
>>330-332
最初から最後までしっかり読みなさい。

大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON
https://automaton-media.com/articles/newsjp/20240424-290961/

339 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 12:06:25.45 ID:qOnW5aMf.net]
>>330-332
コードの書き方は多種多様な流派があり自分にあった書き方を模索するしかない
チームで開発する時はチームでルールを定める
基本的には公式に従う

安易にファイル分割すると管理が大変になる
単にソースが長いだけならregionで閉じる
全体で共通して使う機能ならグローバルなクラスに纏める
特定のクラスのみの機能なら基底クラスを作って継承する

インデントが深いと思ったらそもそもの処理方式を考え直す
ループの内側を関数化する
ifをand,orで纏める
ソースを短くする為にソースが読み難くなるのは本末転倒なので下手な対策はしない

340 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 13:46:45.79 ID:GkEu3rtv.net]
力業ねえ
そうは言っても作り方のセオリーはあるんじゃないかな
ユニティだけど物理ワールドでオブジェクト移動するときにポジションに1加算みたいなことしたらバグるし重いよね
ベロシティにアドフォースするのがセオリーじゃん?

そんな感じで、頭の悪いぐちゃぐちゃなセオリーもへったくれもないコードだと見づらいバグる重いでいいことないし
ゴドーで「こういう仕組み作るときはこうやるのがベター」みたいなノウハウを集めたサイトが欲しいわ

341 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 14:04:21.58 ID:KYDjUHts.net]
>>335
逆引き辞典みたいなのあるといいよね(英語のはわりとある)
まあセオリーやノウハウが欲しいなら、他人のコードをたくさん読むことが近道じゃないかな

342 名前:名前は開発中のものです。 [2024/04/28(日) 15:15:52.67 ID:6Dc8VXuN.net]
>>334
どうも
自分なりに書いてみます
とりあえず見た目と機能は分けます

343 名前:名前は開発中のものです。 [2024/04/29(月) 06:16:45.87 ID:W8KMTghQ.net]
シンタックスのテーマはストアにないんですかね?
githubから持ってくる感じでしょうか

344 名前:名前は開発中のものです。 [2024/04/29(月) 14:25:37.21 ID:W8KMTghQ.net]
arrayをforで展開するときに、size関数は要素数ですので、例えば要素数5であった場合インデックス0から開始されますので、4までです
この差が誤解を産むことがあるのですが、なにか対策はあるんでしょうか?

>>338
解決 自作します

345 名前:名前は開発中のものです。 mailto:sage [2024/04/29(月) 14:53:30.83 ID:2FsCulaT.net]
殆どの言語で要素番号は0から始まるから数こなして慣れるのが一番
順次処理なら要素番号を使わない操作を心がける
どうしても気になるなら要素番号が1から始まる配列クラスを自前で作る



346 名前:名前は開発中のものです。 [2024/04/29(月) 16:52:13.85 ID:W8KMTghQ.net]
ありがとう
練習あるのみか

イメージ力みたいなのが足りないと思う
図で考えたほうがいいのかな

347 名前:名前は開発中のものです。 mailto:sage [2024/04/29(月) 21:18:04.62 ID:n5TYyf+c.net]
仕様書はちゃんと書いた方が良い

348 名前:名前は開発中のものです。 [2024/04/30(火) 05:44:38.46 ID:HJbDE4xz.net]
仕様書はフロチャですか

349 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 13:00:30.92 ID:qkeOAzaS.net]
レスがつくのは嬉しいだろうけど、Godotから話題が離れてるので自分のゲーム開発だけ話すのなら別のスレで書いて欲しい

350 名前:名前は開発中のものです。 [2024/04/30(火) 13:09:32.02 ID:HJbDE4xz.net]
そうか、了解

351 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:13:24.81 ID:uAstRO41.net]
一人が言ってるだけだから気にしなくていいよ
他で出せる話題でもないならここでやればいい

352 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:21:24.39 ID:t9d+Ii5w.net]
まーた揉めるようなことを・・・学習しねえな

353 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:26:04.37 ID:hVvdsoIz.net]
スレの運用は適切に
例外を許容しすぎると該当スレの存在意義がなくなる

354 名前:名前は開発中のものです。 [2024/05/01(水) 10:08:19.10 ID:ePZpzJCq.net]
質問です
godotで子ノードにアタッチしたスクリプトの変数にはアクセス出来るんですが、スクリプトを直接ロードして、そこからアクセスしようとするとエラーになるのはなぜでしょうか。この2つの違いが良くわかりません。


目的は長いスクリプトを複数に分けることです。

355 名前:名前は開発中のものです。 [2024/05/01(水) 10:27:48.27 ID:ePZpzJCq.net]
↑ああそうか
一度シーンにぶら下げないとダメなんですよね godotの場合は
子ノードを作成するか autoloadにするか



356 名前:名前は開発中のものです。 mailto:sage [2024/05/01(水) 12:45:52.75 ID:ZXYQy06U.net]
AddChildやAutoLoadはシーンツリーに接続されていてそこ経由でのアクセスが可能
ロードしたスクリプトはシーンツリーから独立したインスタンスになるので
そこから他のノードへアクセスしたいのならば他のノードへの参照を渡せばアクセス可能にはなる

個人プロジェクトだろうから好きにすれば良いが
長くなったスクリプトを短くする為に理解出来てない機能を使うのは得策では無いと自分は思う
それでもどうしてもregionを使わずスクリプトを短くしたいのならば継承を使うと良い
そうすれば継承元のスクリプトは継承先では見た目上隠蔽される

357 名前:名前は開発中のものです。 [2024/05/01(水) 14:24:41.42 ID:ePZpzJCq.net]
ありがとうございます
シーンに適当なノードぶら下げてそこにスクリプトつけて分割することにします

358 名前:名前は開発中のものです。 [2024/05/02(木) 19:02:27.61 ID:UVx4JLwS.net]
https://www.crazygames.com/game/goober-dash
goober dashおもろいよね

359 名前:名前は開発中のものです。 [2024/05/03(金) 01:51:43.60 ID:KMJa0hAC.net]
直接loadしたスクリプトはnew()すると使えるはず

360 名前:名前は開発中のものです。 [2024/05/03(金) 13:51:37.10 ID:C+l8v586.net]
>>353
gooberはgodotだから貼った

361 名前:名前は開発中のものです。 [2024/05/03(金) 18:50:34.76 ID:C+l8v586.net]
関数内関数を書く時に以下のような形式になるじゃないですか
名前はどんなふうにつけますか?
一般的に変数名を省略系にするのかなと考えますが
var mB = func moveBlock():
print("ブロック動かす処理")

362 名前:名前は開発中のものです。 [2024/05/03(金) 19:12:54.15 ID:C+l8v586.net]
godotのテキストエディタって機能的に十分なのかな?
vscode使えるならもちろんそうしたいけどね
公式のエクステンションでもあれば

363 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 20:14:54.48 ID:QnOXIZPi.net]
プログラム初心者で、Gamemakerを触っていたのですが
godotはGamemaker触ってたら理解は出来そうですか?

364 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 21:48:22.15 ID:SB6QCt+i.net]
>>358
インストール不要で気軽に始められるから、公式チュートリアル30分位さわってみて判断したらいいよ

365 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 23:12:06.81 ID:klkiRmCj.net]
%や/とか+=の意味が分からないくらいなら
ゲーム開発入門みたいな本を買うなり借りるなりして一度目を通すと少しは助かるかもしれない



366 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 23:13:59.18 ID:/rh2liyL.net]
GameMaker使ったことないから比較するのにチュートリアルやってみようとしたら開けなかった
ブランクプロジェクト開いても何して良いか全然判らなかった
これ使えてたならGodotを新しく覚えるのも余裕じゃない?

367 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 00:40:51.69 ID:1eZ/ckRt.net]
みなさんどうもです
触ってみろは仰る通り
事前に調べて日本語情報が異様に少ないとか
あったのでパイソン?
とかの言語知ってるのが前提なのかな?みたいな疑問もあって
聞いてみた次第です

GMで苦労したのにまたゼロから習得していくのはしんどいなあw

368 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 00:49:24.03 ID:sLFn1foN.net]
基本的な情報は有志の日本語ブログと公式ドキュメントをツールで翻訳すれば足りる
Pythonに言語仕様が似ているので知っていると楽ができる
今後ビジュアルスクリプティングが流行らないとは言えないがGDScriptでなくても何かの言語は覚えるべき

GodotEngineとGDScriptはかなり使いやすいし判りやすいけど
日本語の初心者向け情報を頼りたいならUnityでC#になるんでないの?

369 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 01:10:12.79 ID:sLFn1foN.net]
>>356
関数名は省略できるっしょ
自分が以前書いた例文もCallableクラスの例文も書いてないと思うけどどこで覚えてきたの?
var move_block = func(): print("~")
move_block.call()

370 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 01:18:05.31 ID:sLFn1foN.net]
すまん確認してみたら自分が最初に教えた時に明示的にするために関数名書いてたわ
デバッグなんかで関数名の表示できると判りやすいとか付けるメリットもあるが
インラインで使う関数に名前は付けなくていいよ

371 名前:名前は開発中のものです。 [2024/05/04(土) 05:51:48.79 ID:Q/GMBOls.net]
>>364
出来るんですね どうも
たしかに出来た

372 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 17:37:03.86 ID:YlgyzU/N.net]
初心者どころか無知張りの質問ばっか
流石に聞く前に少し勉強しようよ…

373 名前:名前は開発中のものです。 [2024/05/05(日) 19:19:42.62 ID:i1XkVcGH.net]
https://store.steampowered.com/app/1748390/Rocket_Bot_Royale/?curator_clanid=44704789
goober dashってこのゲームの会社だったのね

374 名前:名前は開発中のものです。 mailto:sage [2024/05/06(月) 08:38:46.50 ID:tVmDFPsn.net]
去年リリースのゲームだけどなんかあったん?
今年の無料枠だと20small mazesとvoid whisperが良かったな

375 名前:名前は開発中のものです。 [2024/05/07(火) 18:08:44.68 ID:2LczD5CB.net]
https://ideone.com/q33YHK
このくのif文のネストというのはやり過ぎですか?
コードの意味というより、構造としてです



376 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 18:13:54.37 ID:mOg/x0Fw.net]
別にダメではないんじゃね
抑えたいんだったらforの中のifだったら否定continueにできないかとか主な部分の分岐は関数にできないかとか

377 名前:名前は開発中のものです。 [2024/05/07(火) 18:29:18.13 ID:2LczD5CB.net]
ありがとう
折りたたみがあれば、自分的に分かりづらくはないので、そこが判断基準でしょうかね。

378 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 19:36:46.79 ID:RdSJWMfw.net]
コードの文法にこだわるより動いて完成させるほうが大事ってヒットしたゲーム開発者が言ってた

379 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 19:55:59.80 ID:Wut59JH8.net]
>>370
冗長ではあるかも
範囲外チェックは関数化すれば使い回せるし押せるかチェックも同じく関数化で使い回せる

380 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 22:49:42.73 ID:4dk4e7hy.net]
>>370
本題とはずれるけど関数やブロックは簡易でもコメント書いた方が良いと思う
優先されるのは動く事なんだけど冗長すぎるコードは将来的には管理不能になり易い
正しく動く関数を作ったら中を見なくても使える位のコメントは必要かと
自分が自分用のコードで書くのはこの程度

## マップ情報からタイル情報を取得
## 指定したpos座標からdir方向にstep目のタイルを取得する
func get_tile(pos, dir = Vector2i.ZERO, step = 0):
var x = pos.x + dir.x * step
var y = pos.y + dir.y * step
if y < 0 or y >= map.size(): return
if x < 0 or x >= map[y].length(): return
return map[y][x]

381 名前:名前は開発中のものです。 mailto:sage [2024/05/08(水) 06:03:56.80 ID:DXZ4K4HC.net]
forの外でなく中で分岐チェックが入るのはなぜだろうと
for内部で分岐チェック変数自体が変化するのかなとか一寸思った

382 名前:名前は開発中のものです。 [2024/05/08(水) 06:12:38.24 ID:DI+sRL/w.net]
>>373
ほんとそれ(*´ω`*)
でも自分でも書いたコードの意味がわからなくなることがある
ただ、完成させたら後は触らなけりゃいいものね

383 名前:名前は開発中のものです。 [2024/05/11(土) 10:19:20.20 ID:5tdP2r62.net]
https://anogame.net/softbody-shape-sprite-unity/
こういうベーコンみたいな動きはjoint系でやるんかな

384 名前:名前は開発中のものです。 mailto:sage [2024/05/11(土) 12:20:37.88 ID:sm7gTskD.net]
これはJointでやってるね
ttps://github.com/appsinacup/godot-softbody2d

385 名前:名前は開発中のものです。 [2024/05/11(土) 12:46:54.43 ID:5tdP2r62.net]
>>379
どうも
むつかしそうなことしないと作れないんですね



386 名前:名前は開発中のものです。 mailto:sage [2024/05/11(土) 13:15:20.66 ID:sm7gTskD.net]
addonになってるから手順に従えば使えるんじゃないかね?

3Dでも良いなら公式にSoftBody3Dクラスがあって解説されている
ttps://docs.godotengine.org/ja/4.x/tutorials/physics/soft_body.html

387 名前:名前は開発中のものです。 [2024/05/11(土) 14:04:47.85 ID:5tdP2r62.net]
どうも
2dなんですが既存のノード

388 名前:セけでやろうとしてました []
[ここ壊れてます]

389 名前:名前は開発中のものです。 [2024/05/11(土) 17:29:09.70 ID:5tdP2r62.net]
2dはソフトボディ用のノードはないんですね

390 名前:名前は開発中のものです。 mailto:sage [2024/05/11(土) 23:50:45.86 ID:sm7gTskD.net]
>>379のはgit cloneすればsampleの動作を見れる
addonとして追加すればSoftBody2Dクラスが使えるようになる
チュートリアル動画を見て自分でノードを追加してテクスチャ設定して動作する所までは確認した
自分で使う為のカスタマイズがどこまで出来る、どの様に出来るかまでは把握してない
必要なら納得いくまで自分で試してみると良い

391 名前:名前は開発中のものです。 [2024/05/12(日) 09:50:56.31 ID:vY/ipjwY.net]
>>384
ありがとう
動かないやと思ってたら3でやってたが、4でも動かないや
これから調べます

使えなかったらspringjoint系でも自作は出来るみたいですね

392 名前:名前は開発中のものです。 [2024/05/12(日) 09:57:58.01 ID:vY/ipjwY.net]
>>385
pluginsからenableしないとダメなんですね

393 名前:名前は開発中のものです。 [2024/05/12(日) 12:36:37.11 ID:vY/ipjwY.net]
pinjoint2dにテクスチャ付けたいのですが、そのテクスチャをpinjoint2dの動きと連動させるには、スケルトン2dあたりも必要になるんでしょうか?
参考になる記事が見つからなかったので

394 名前: [2024/05/12(日) 15:01:30.18 ID:lxvBH4fm.net]
ブロック崩しの「ボール」みたいなのは CharacterBody2D か Area2D どっちが適してる?
反射処理も悩んでいる _on_body_entered() で自分の進んでいる方向と当たった箇所はどうやって取得?
まだまだチュートリアルから卒業できない。

395 名前:名前は開発中のものです。 [2024/05/12(日) 15:33:26.07 ID:vY/ipjwY.net]
>>388
ボールはcharactebodyかと
https://docs.godotengine.org/en/stable/classes/class_characterbody2d.html
normal系の関数があるので、その入射角を逆転するといいのかと
gptがコードくれる



396 名前:名前は開発中のものです。 [2024/05/12(日) 15:37:19.30 ID:lxvBH4fm.net]
>>389
ありがとう!
GPT にも相談しながら試行錯誤してみる

397 名前:名前は開発中のものです。 [2024/05/12(日) 18:02:36.32 ID:vY/ipjwY.net]
質問です
スケルトン2dのuvエディタなんですが、真ん中の棒がuvからかなり突き出ているためか、ボーンを動かしても思い通りに曲がりません
これってどういう状態でしょうか。棒の意味がわかりませ
imgbox.com/mUDkcBDk

398 名前:名前は開発中のものです。 mailto:sage [2024/05/12(日) 21:09:27.02 ID:B/CvPUu/.net]
>>391
ttps://docs.godotengine.org/ja/4.x/tutorials/animation/2d_skeletons.html#deforming-the-polygons

399 名前:名前は開発中のものです。 [2024/05/13(月) 06:00:25.10 ID:LyBZy055.net]
単にボーンなんですね どうも

400 名前:名前は開発中のものです。 [2024/05/13(月) 06:13:59.75 ID:LyBZy055.net]
ただ、ボーンが2本なのにuvエディタでは3本表示されるようです

401 名前:名前は開発中のものです。 mailto:sage [2024/05/13(月) 09:28:15.52 ID:mESw/UcZ.net]
は〜、世の中には不思議なことがあるものですね

自分の設定ミスや勘違いじゃなければ仕様かBug
OSSってのはそういうもんだ、あきらめるか無視しろ
可能であれば、Engineの開発チームにIssues飛ばすかBugFixしてCommitしたれ
Engineのクレジットに名前が載るぞ

402 名前:名前は開発中のものです。 [2024/05/13(月) 10:29:30.01 ID:LyBZy055.net]
作り直しすね

403 名前:名前は開発中のものです。 [2024/05/13(月) 11:35:40.82 ID:LyBZy055.net]
pinjoint2dでテクスチャを曲げたいのですが、これはどうやったらいいんでしょうか。
通常、1枚のテクスチャを曲げるには、skelton2dとpolygon2dを使うみたいです。
ということはpinjointでつなげたrigidbody2dとskelton2dを連動させる必要があるんでしょうか。
もっと楽な方法があれば教えてもらいたいです。

404 名前:名前は開発中のものです。 mailto:sage [2024/05/13(月) 13:12:28.51 ID:mESw/UcZ.net]
>>397
>>379

ttps://www.reddit.com/r/godot/comments/1cp8fa1/how_to_bend_texture_with_pinjoint2d/?rdt=50877

405 名前:名前は開発中のものです。 [2024/05/13(月) 13:41:07.99 ID:LyBZy055.net]
>>398
何がしたいの?
答えがないからこっち来てるんだけど



406 名前:名前は開発中のものです。 mailto:sage [2024/05/13(月) 14:08:35.59 ID:cP0RX87M.net]
>>399
読解力があれば質問を控えてまず自分で試行錯誤しろという警告である事を理解できるはずなんだが
やらずに聞くのではなくやってみてダメだったことをここに質問しに来れば良いのでは

407 名前:名前は開発中のものです。 [2024/05/13(月) 14:16:24.26 ID:LyBZy055.net]
既存のチュートあるならそれが一番だと思っているので
自分の力で考えても良い結果になった試しが、自分に関してはないので






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<257KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef