[過去ログ]
【軽量】godot engine【無料】 part3 (1002レス)
【軽量】godot engine【無料】 part3 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
259: 名前は開発中のものです。 [sage] 2024/04/13(土) 22:30:37.04 ID:PLTsef0l 自覚持てよ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/259
260: 名前は開発中のものです。 [] 2024/04/14(日) 04:27:19.96 ID:xkIt8wPU そういうのいらないから http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/260
261: 名前は開発中のものです。 [sage] 2024/04/14(日) 14:53:38.25 ID:pt7t7Gdb オマエモナー http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/261
262: 名前は開発中のものです。 [] 2024/04/17(水) 11:03:55.56 ID:c7cp2PUr godot4で方向取る関数ってなんですか? input.get_axisだと引数が2つ必要になっていましたね 以前はinput.get_axis("horizontal")←これで横方向がトレていたのですが、 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/262
263: 名前は開発中のものです。 [sage] 2024/04/17(水) 11:23:02.69 ID:S9SgvMuX 以前とはいつの事か?またはどのバージョンの事か? 質問する前に自分の記憶が正しいかの確認をする https://docs.godotengine.org/en/3.4/classes/class_input.html 初登場時からget_axisの引数は2つ get_axisの機能を方向取る関数と認識しているのならば 引数の形式が変わっていても新しい引数の形式での使い方を理解するしかない http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/263
264: 名前は開発中のものです。 [] 2024/04/17(水) 11:59:17.28 ID:c7cp2PUr >>263 そうでしたか なにかの記憶違いだったかもしれないです var direction if Input.is_action_just_pressed("ui_right"): direction = "right" if Input.is_action_just_pressed("ui_left"): direction = "left" if Input.is_action_just_pressed("ui_up"): direction = "up" if Input.is_action_just_pressed("ui_down"): direction = "down" _move(direction) 文字列での分岐にすることにしました http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/264
265: 名前は開発中のものです。 [sage] 2024/04/17(水) 12:28:13.73 ID:S9SgvMuX なんとなくの予想だがUnityのInputSystem辺りと記憶が混ざってるのかもね 理解できず動かない簡潔なコードよりも理解できて正しく動く冗長なコードが勝るが get_axisとget_vectorは有用なので使い方は理解できた方が良い 余裕があれば挑戦してみて欲しい 公式のサンプルでは大体こんな感じで使われている # 左右をfloatで取得 var movement = get_axis("ui_left", "ui_right") # 上下左右をVector2で取得 var direction = get_vector("ui_left", "ui_right", "ui_up", "ui_down") http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/265
266: 名前は開発中のものです。 [sage] 2024/04/17(水) 14:58:45.87 ID:S9SgvMuX Inputクラスの記述が抜けてた var movement = Input.get_axis("ui_left", "ui_right") # 上下左右をVector2で取得 var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") 書き足しついでで補足すると意味的にはこんなん 1軸の向き = get_axis(-方向、+方向) Vector2(x軸の向き, y軸の向き) = get_vector(x軸負方向、x軸正方向、y軸負方向、y軸正方向) 移動処理が簡潔に書ける extends Node2D const SPEED = 300.0 func _process(delta): var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") position += direction * SPEED * delta http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/266
267: 名前は開発中のものです。 [] 2024/04/17(水) 17:28:28.38 ID:c7cp2PUr どうも get_vectorで方角を返すってやつですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/267
268: 名前は開発中のものです。 [] 2024/04/18(木) 11:29:20.11 ID:o06ulE3s godotは割とredditが賑わってるのがありがたいは むしろunityより賑わってるのが謎 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/268
269: 名前は開発中のものです。 [] 2024/04/19(金) 18:17:49.55 ID:611er4q0 配列特定の値を探したい場合、forで回して比較演算子かfindか使い分けはどうすればいいの? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/269
270: 名前は開発中のものです。 [sage] 2024/04/19(金) 19:27:59.70 ID:6eKwksTY 関数の方が安全で手っ取り早い代わりに若干低速な可能性がある どれくらい差があるかは知らない 配列の中身が順番に並んでるならbsearch使うか二分探索自分で書けば速い http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/270
271: 名前は開発中のものです。 [] 2024/04/19(金) 19:31:58.50 ID:611er4q0 どうも どのみち二次元だとfind使えないみたいですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/271
272: 名前は開発中のものです。 [] 2024/04/20(土) 11:57:25.68 ID:gSjSgOMM 一時的にスクリプトを停止出来ますか? processをdisableしてもprintはされるみたいです http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/272
273: 名前は開発中のものです。 [] 2024/04/21(日) 10:08:48.46 ID:YXvcVHHE 定型文登録って合ったっけ? 以下の4方向バージョンを登録しておきたい if Input.is_action_just_pressed("ui_up"): move() http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/273
274: 名前は開発中のものです。 [] 2024/04/23(火) 12:13:26.37 ID:/jRBBB4p 特定の関数の中でしか使わない関数ってのはどう定義すればいいの? 入れ子に出来れば関係ない場所から参照されないからいいと思うんだけど func outer(): func inner(): こんな感じの入れ子は無理っぽいからラムダってやつ使うのかな しかし、以下だとprint結果が帰ってこない extends Node2D func _ready() -> void: print(lam) var lam = func outer(num): var value = "hogehoge" return value http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/274
275: 名前は開発中のものです。 [] 2024/04/23(火) 12:26:20.71 ID:/jRBBB4p あっ、callしないと駄目なんですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/275
276: 名前は開発中のものです。 [sage] 2024/04/23(火) 13:00:39.54 ID:K58WhwWv 関数のままでは入れ子にできないからCallableとして宣言する 呼び出しは変数名で行うから関数名はなくて良い func _ready(): var innner = func(x = 1):return x * 2 prints("inner() called:", innner.call()) prints("inner(2) called:", innner.call(2)) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/276
277: 名前は開発中のものです。 [] 2024/04/23(火) 14:27:19.77 ID:/jRBBB4p どうも 入れ子で書けないのなら、普通の関数とあまり変わらない感じですね 視覚的にこう1箇所にまとめたかったんですが http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/277
278: 名前は開発中のものです。 [sage] 2024/04/23(火) 15:16:36.49 ID:K58WhwWv 変数に代入して使うのが馴染みないかもだが 関係ない場所からの参照ができなくなるから>>274で求められた機能としては十分 使用する変数は大体最初に宣言するから一箇所にまとまるのでは? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/278
279: 名前は開発中のものです。 [sage] 2024/04/23(火) 15:27:32.29 ID:K58WhwWv >>272 完全停止は出来ないがprocess_modeにdisableを指定した上で 動かれて困るメソッドの先頭に以下の一文でも足せば良いんじゃないかな? if process_mode == Node.PROCESS_MODE_DISABLED: return http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/279
280: 名前は開発中のものです。 [] 2024/04/23(火) 19:08:20.21 ID:/jRBBB4p >>278 関係ない場所から参照出来なくなるというのは、callが付与されることで、そのような効果があるということでしょうか? >>279 どうも disableでもおそらくreadyは動くみたいですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/280
281: 名前は開発中のものです。 [sage] 2024/04/23(火) 19:38:02.85 ID:K58WhwWv ローカルで宣言した変数のスコープはローカルという普通の話 別にCallableでの特別処理とかではない グローバルで宣言すればグローバルから扱える _readyの様な初期化処理まで動かしたくないというなら自分は設計の見直しをする 必要なときにadd_childとqueue_freeすればprocess管理する必要がないのではないか? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/281
282: 名前は開発中のものです。 [sage] 2024/04/23(火) 19:44:45.31 ID:nRUQyvbL 15歳のGodot教本クラファン、あれ支援してみようかなー http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/282
283: 名前は開発中のものです。 [sage] 2024/04/23(火) 20:12:37.57 ID:SVQG4/08 確か達成してた気するけどああいうの上乗せ倍プッシュで支援てできるんだっけ?いいんじゃね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/283
284: 名前は開発中のものです。 [sage] 2024/04/23(火) 20:42:58.34 ID:nRUQyvbL ぶっちゃけGodot全然わからんちんなんで 支援して、本貰って自分にシバキを入れたいって思いもある おっちゃんが15歳に負けたくない>< http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/284
285: 名前は開発中のものです。 [sage] 2024/04/23(火) 20:49:38.67 ID:K58WhwWv 始めるなら早い方が良いから完成待たずに既にあるのでやってみたら? https://progsha.org/ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/285
286: 名前は開発中のものです。 [sage] 2024/04/23(火) 23:25:40.86 ID:5HqoYOxs 3000円で紙の本と電子本両方もらえるならむしろ安いよね 良心的なクラファンだ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/286
287: 名前は開発中のものです。 [] 2024/04/24(水) 04:23:26.66 ID:oxZnmf8P >>281 なるほど 中で宣言するというだけですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/287
288: 名前は開発中のものです。 [] 2024/04/24(水) 20:15:21.72 ID:oxZnmf8P 倉庫番のロジックで分からないところがあるのでこっちで質問させてもらいます マップは二次元配列で作成します ただ、キャラクターの移動はvector2で行います 1マスの大きさが32であった場合、vector2の座標が32,0だとしたら、配列上ではarray[y0][x1]となりますよね。 こういった変換に便利な関数とかないでしょうか? やりたいことを箇条書きにすると以下です 1:vector2の座標から配列上の座標を割り出す 2:キャラクターが移動したとき、配列上のキャラクター座標を移動させる(配列上の要素2がキャラとしてます) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/288
289: 名前は開発中のものです。 [sage] 2024/04/24(水) 20:27:18.43 ID:PzjnMMaW 普通に割り算して切り捨てるだけでは ものを1マス単位で動かさない前提なら1マス辺りの座標を1にして逆に見た目の方の座標を掛け算なりする方が楽 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/289
290: 名前は開発中のものです。 [sage] 2024/04/24(水) 22:41:11.22 ID:YL8z0NQ2 自分が便利なように関数かけばいいじゃないの http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/290
291: 名前は開発中のものです。 [sage] 2024/04/25(木) 00:19:55.34 ID:5JWtrSqN 昔の2Dゲーム機は基本的に背景をマップタイル(キャラクタージェネレータなどとも呼ばれる)単位で管理してたものだから、同じように仮想的なタイルを敷き詰めた画面があるものとして構造体組んで、その上でモブがタイルに沿って動く管理を考えるのがとりあえずは昔のノウハウを適用できて簡単だと思う 倉庫番はまさにそういう動き http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/291
292: 名前は開発中のものです。 [sage] 2024/04/25(木) 00:27:21.13 ID:8kKIrJCJ AIに聞けばええやん http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/292
293: 名前は開発中のものです。 [sage] 2024/04/25(木) 00:30:55.75 ID:5JWtrSqN なのでモブが動くときはpix単位の座標移動が発生するけどそれはサブルーチンとして、ゲームアルゴリズムとしてはマップ全体の座標を整数の配列で(例えば100×100とか)表して制御し、画面に表示する座標は既に言われてるように適切に係数掛け算する関数を作るのが良いと思います 倉庫番の場合、マップが広いレベルを縮小してモニタに表示したりするので、その拡大縮小表示の変換が自由にできるほうがUXが良くなるし、なんなら回転表示もしたくなるかもしれないので。 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/293
294: 名前は開発中のものです。 [sage] 2024/04/25(木) 00:33:10.60 ID:5JWtrSqN >>292 まあ倉庫番まんまならAIに頼めばノーコードで完成するでしょうな しかしゲームメカニクスの基礎は自分の頭で考えないと応用が効かなくなるから http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/294
295: 名前は開発中のものです。 [sage] 2024/04/25(木) 00:42:09.44 ID:7TwSlN/Q ちがうアプローチとしてはTileMapを使用するかな 使えるようになるまでのコストが大きいからお勧めとは言い難いが 高機能で複雑な分、理解できたら便利なクラス http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/295
296: 名前は開発中のものです。 [SAGE] 2024/04/25(木) 01:06:24.88 ID:/gUanyy1 理解できないから半年以上苦しんでるんでしょう。 もっと園児でもわかるような単純なやり方を教えてあげて http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/296
297: 名前は開発中のものです。 [sage] 2024/04/25(木) 01:08:58.36 ID:5JWtrSqN まんまTilemapなクラスがあったのね これなら簡単だわ勉強になりました http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/297
298: 名前は開発中のものです。 [] 2024/04/25(木) 06:12:26.81 ID:Esvk0j05 >>291 キャラの動きも配列の書き換えで行って、書き換えられたら再描画というふうにしてもいいんですが これだと滑らかに動くキャラってのが作れなくなるんですよね だからチュートなどではvector2で移動させてるんだろうなと マップ座標とvector2座標の変換は必要になりますね >>289 別に特殊なクラスとか使うことないんですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/298
299: 名前は開発中のものです。 [] 2024/04/25(木) 06:27:04.46 ID:Esvk0j05 >>293 ゲームロジックとしては配列の書き換えだけということですか? 配列の書き換え→その位置に基づいてキャラを描画、ということでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/299
300: 名前は開発中のものです。 [] 2024/04/25(木) 12:30:15.39 ID:Esvk0j05 関数から、2つの値を返すには何使うんですか? カンマ区切りではダメだったので[1,2]こういう形にしたらいけました http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/300
301: 名前は開発中のものです。 [] 2024/04/25(木) 12:50:05.12 ID:Esvk0j05 ↑2つの値を返して、二次元配列として使いたい感じです array[0][0] こんな感じです http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/301
302: 名前は開発中のものです。 [sage] 2024/04/25(木) 13:25:04.08 ID:7TwSlN/Q 2つの値を返す方法が[1,2]でいけたならそれで解決じゃね? var return_value = [1, 2] array[return_value[0]][return_value[1]] http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/302
303: 名前は開発中のものです。 [sage] 2024/04/25(木) 14:29:31.06 ID:ddMre8ET GDScriptでいいのか? Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので Pythonで複数の値を返す時に使うTupleは使えないんだとよ 方法としては2つ、Arrayで返すかDictionaryで返す 以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ https://gd.tumeo.space/?KYDwLsB2AmDOAEA5A9tYAodBidAzArpAMbwDmwYA+gIYBOt1AnpQG7UA2+wAFAJQBc6eMPi0K+WpHgBtAIwAaeAHJAVgyA-BkASDEsUBmAHSyALAF1MOAsTIVK0AJZEwt5JDrM2nHgKEixYCVIBvJQBrYEZZJX4FZVDgACZI1U1tGNtbHUj9IwBfTAsSSjFqaEY+QW9hNlp4OmqAXisqWqZWDi4+CvgAB1pbSDBYblreTp6+sCH6aQAGY154LHhZUd7+ydo5OYX4dQ0V8fXpOK3FrMNOzqr4OxIG8iobx2dXVo8OkW7Vge4bkY+xtY3aQhMIRE5LfaA+zA2IJcG7SETIEhNIZcFndBAA http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/303
304: 名前は開発中のものです。 [] 2024/04/25(木) 15:44:33.49 ID:Esvk0j05 ありがとう配列で値を返して、インデックス番号でとればいいんですね これがタプルってやつですか https://www.reddit.com/r/godot/comments/1cckdwt/how_to_return_two_value_from_function/ あと、人いねーと思っていつもの癖でマルチポストしちゃった ごめんなさい改善します http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/304
305: 名前は開発中のものです。 [sage] 2024/04/25(木) 16:12:28.75 ID:ddMre8ET マルチでもなんでも問題解決できりゃなんでもいいんだぞ あとTupleの話は出すべきじゃなかったな、忘れてくれ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/305
306: 名前は開発中のものです。 [sage] 2024/04/25(木) 16:35:23.02 ID:lNMYdYSi 流石になんでも良くはねえよ… それぞれの場所で時間使って答えてくれてんだから http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/306
307: 名前は開発中のものです。 [sage] 2024/04/25(木) 17:07:59.94 ID:7TwSlN/Q 同じ質問は数日待っても解答が得られなかったらとか制限は掛けた方がいいな redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/307
308: 名前は開発中のものです。 [sage] 2024/04/25(木) 17:42:32.62 ID:ddMre8ET >>306 一理ある。初心者は気を遣うことを覚えるより完成させることを優先しろ、オレの先輩の言葉 >>307 配列のIndexを返したいって話だから、Vec2はオーバーキルだと思うぞ。ぶっちゃけやってることは同じだしわかりやすい方でいいんだけどさ。This is KISS. http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/308
309: 名前は開発中のものです。 [] 2024/04/25(木) 18:26:51.75 ID:Esvk0j05 すまん、どちらか一方にするよ redditはそれにしても人多いねぇ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/309
310: 名前は開発中のものです。 [sage] 2024/04/25(木) 18:43:10.78 ID:/XEpAv2m つーかマルチポストで聞く暇あるなら少しは勉強しろよ 初歩的な問題で詰んでるなら尚更 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/310
311: 名前は開発中のものです。 [sage] 2024/04/25(木) 20:20:30.32 ID:7TwSlN/Q >>308 質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i: return cpos / size http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/311
312: 名前は開発中のものです。 [sage] 2024/04/25(木) 21:13:31.21 ID:ddMre8ET おー、なるほどね! Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/312
313: 名前は開発中のものです。 [] 2024/04/26(金) 06:09:14.77 ID:1Ez+K35D >>311 すみません なんか自己流で複雑なやり方になってる気がする 普通はキャラ座標とマップ座標の変換はやらずに、座標を1つに統一したりするんでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/313
314: 名前は開発中のものです。 [sage] 2024/04/26(金) 13:14:53.40 ID:yaANzBxw 上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは その方がセーブやアンドゥも楽になる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/314
315: 名前は開発中のものです。 [] 2024/04/26(金) 13:46:32.39 ID:1Ez+K35D >>314 配列使わないということですか? 配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか 二次元配列を使った場合、以下のようにマップを表現すると思います 1=壁,2=キャラ、3=動かせる箱、0=動ける範囲 [ [1,2,3,0,1], [1,0,0,0,1], [1,1,1,1,1], ] グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。 1pxずつ動かしたいわけじゃないので、それはその通りです。 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/315
316: 名前は開発中のものです。 [sage] 2024/04/26(金) 13:52:06.26 ID:XXsncJVJ もしかしてモブはスプライト管理じゃない? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/316
317: 名前は開発中のものです。 [sage] 2024/04/26(金) 14:35:25.85 ID:/ZFKx6UF >>315 倉庫番である以上オブジェクトは必ず格子状に配置し管理される それを2次元配列とみなす事ができる 配列を使わない場合は遠回りに配列があるのと同等の処理を行うだけ なぜ>>314の説明で配列使わないという解釈になるのかが判らない 配列を使わない便利な魔法でもあると想像してないか? 配列を使わない方法があっても手間が増えて複雑になるだけだから配列が使われる 配列を使った方法で理解するのが定番 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/317
318: 名前は開発中のものです。 [sage] 2024/04/26(金) 14:55:56.89 ID:/ZFKx6UF >>313 昔はコンソール上で動かす前提で表示もキャラクター単位だったので 配列の要素番号と表示座標の変換は不要だった 今はウインドウアプリになって表示に座標変換は必須 ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも 昔よりは複雑になり難易度上がってはいる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/318
319: 名前は開発中のものです。 [] 2024/04/26(金) 15:42:16.89 ID:86tvu5TE 絵文字使ってるので表示が上手くいかなかったらごめん ゲームとしては全然足りないし完成させる所までが課題ではあるが 学習項目を配列のみに集約するとこの配列操作が理解できれば十分 func _ready(): var map = "🧱👷📦🚩🧱\n" print(map) map[3] = map[2] map[2] = map[1] map[1] = "◾" print(map) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/319
320: 名前は開発中のものです。 [] 2024/04/26(金) 15:45:16.29 ID:86tvu5TE 二次元配列まで理解できたら上出来 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) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/320
321: 我のうんちは小粒(^^ ◆OyJP7qHDVvEI [] 2024/04/26(金) 17:21:02.02 ID:jKYfR5nN 二次元配列って配列に配列入れるやつでふよね(^^ そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^ 煽りとかいじめでいってるんじゃなくて真剣に(^^ ボッキング!(^^ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/321
322: 名前は開発中のものです。 [] 2024/04/26(金) 18:10:17.22 ID:1Ez+K35D >>317 配列でやってみます ありがとう 昔のやり方というのは、配列の座標を書き換える→画面表示を更新、といったやり方ですよね 今のように、ぬるっと動かすことが出来ないということですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/322
323: 名前は開発中のものです。 [sage] 2024/04/26(金) 18:28:59.68 ID:Tn7ydmJN >>322 今の奴ってどのサンプルの話? 存在しない物を今とか空想してんの? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/323
324: 名前は開発中のものです。 [] 2024/04/27(土) 14:28:13.76 ID:RX6jyHGA フローチャートよりシンプルな図示方法ってないかな? やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする 可といってフローチャートは難しい http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/324
325: 名前は開発中のものです。 [] 2024/04/27(土) 14:39:46.99 ID:RX6jyHGA 擬似コードってのやってみますゆえ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/325
326: 名前は開発中のものです。 [sage] 2024/04/27(土) 16:13:48.17 ID:b+RnbsA6 フローチャートが難しいってどういう事 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/326
327: 名前は開発中のものです。 [] 2024/04/27(土) 17:08:49.43 ID:RX6jyHGA むずいというか、他人に説明するためのものではないので、自分だけ分かる方法でいいかなと より簡易的であればいいです フロチャは図形の使いこなしが苦手です http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/327
328: 名前は開発中のものです。 [sage] 2024/04/27(土) 22:14:59.66 ID:toVZIEFB >>324 plantumlが面白いかも plantuml web serverでインストール不要で試せる 検索すればフローチャートの書き方もあるっぽいので コピペして遊んでみては? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/328
329: 名前は開発中のものです。 [sage] 2024/04/28(日) 02:33:44.79 ID:XkoBpqzr Godotの2Dのコンセプトは3Dを2Dに見せるやり方ではないってのだけはすぐ分かるのだけど、仮想ゲームマシン的な意味での最大スペックはどこ見ればいいのだ 実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな? 他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/329
330: 名前は開発中のものです。 [] 2024/04/28(日) 06:15:05.24 ID:6Dc8VXuN 1つのスクリプトに書いてるんですが、コードが増えてきた場合、領域を分ける方法は関数以外にありますか? ただ、視覚的に分けるだけでもいいです レギオンは使えるみたいですね >>328 どうも 擬似コード的なものを視覚化するというイメージですかね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/330
331: 名前は開発中のものです。 [] 2024/04/28(日) 06:42:32.33 ID:6Dc8VXuN コアな機能だけモジュール化なりクラス化なりしたほうがいいのかな http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/331
332: 名前は開発中のものです。 [] 2024/04/28(日) 09:40:08.77 ID:6Dc8VXuN インデントが深くなりすぎる場合、対策はあるでしょうか。 pythonで関数をカッコで表現出来るでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/332
333: 名前は開発中のものです。 [sage] 2024/04/28(日) 11:30:45.87 ID:KYDjUHts >>330-332 最初から最後までしっかり読みなさい。 大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON https://automaton-media.com/articles/newsjp/20240424-290961/ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/333
334: 名前は開発中のものです。 [sage] 2024/04/28(日) 12:06:25.45 ID:qOnW5aMf >>330-332 コードの書き方は多種多様な流派があり自分にあった書き方を模索するしかない チームで開発する時はチームでルールを定める 基本的には公式に従う 安易にファイル分割すると管理が大変になる 単にソースが長いだけならregionで閉じる 全体で共通して使う機能ならグローバルなクラスに纏める 特定のクラスのみの機能なら基底クラスを作って継承する インデントが深いと思ったらそもそもの処理方式を考え直す ループの内側を関数化する ifをand,orで纏める ソースを短くする為にソースが読み難くなるのは本末転倒なので下手な対策はしない http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/334
335: 名前は開発中のものです。 [sage] 2024/04/28(日) 13:46:45.79 ID:GkEu3rtv 力業ねえ そうは言っても作り方のセオリーはあるんじゃないかな ユニティだけど物理ワールドでオブジェクト移動するときにポジションに1加算みたいなことしたらバグるし重いよね ベロシティにアドフォースするのがセオリーじゃん? そんな感じで、頭の悪いぐちゃぐちゃなセオリーもへったくれもないコードだと見づらいバグる重いでいいことないし ゴドーで「こういう仕組み作るときはこうやるのがベター」みたいなノウハウを集めたサイトが欲しいわ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/335
336: 名前は開発中のものです。 [sage] 2024/04/28(日) 14:04:21.58 ID:KYDjUHts >>335 逆引き辞典みたいなのあるといいよね(英語のはわりとある) まあセオリーやノウハウが欲しいなら、他人のコードをたくさん読むことが近道じゃないかな http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/336
337: 名前は開発中のものです。 [] 2024/04/28(日) 15:15:52.67 ID:6Dc8VXuN >>334 どうも 自分なりに書いてみます とりあえず見た目と機能は分けます http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/337
338: 名前は開発中のものです。 [] 2024/04/29(月) 06:16:45.87 ID:W8KMTghQ シンタックスのテーマはストアにないんですかね? githubから持ってくる感じでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/338
339: 名前は開発中のものです。 [] 2024/04/29(月) 14:25:37.21 ID:W8KMTghQ arrayをforで展開するときに、size関数は要素数ですので、例えば要素数5であった場合インデックス0から開始されますので、4までです この差が誤解を産むことがあるのですが、なにか対策はあるんでしょうか? >>338 解決 自作します http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/339
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 663 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s