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 がたててください
204 名前:名前は開発中のものです。 mailto:sage [2024/03/27(水) 09:34:32.48 ID:njswSuTs.net] ノードの自動読み込みとノードのシングルトンって使い分けたほうがいい? 郷に入ってはの精神でなんとなく自動読み込みの方使ってるけど
205 名前:名前は開発中のものです。 [2024/03/27(水) 10:09:54.95 ID:gGONJtOf.net] >>199 色々追加はされているがまだ始まったばかりやな 最初のコミットは3/15だしそんなもんやろ
206 名前:軌道予測 [2024/03/27(水) 10:16:36.57 ID:E2lXw+Px.net] >>196 呼び出す側でget_nodeするんですね シーンに追加されないと子のreadyも実行されないのかなと
207 名前:軌道予測 [2024/03/27(水) 11:36:51.00 ID:E2lXw+Px.net] godotエディター上で手書きでステージを描いて行く手法とありますかね? カーソルでポリゴン編集でもいいんですが
208 名前:軌道予測 [2024/03/27(水) 11:54:27.12 ID:E2lXw+Px.net] https://store.steampowered.com/app/2620500/imomushi/ こんな感じのステージです タイルマップでも難しそうだし、手書きですよね
209 名前:軌道予測 [2024/03/27(水) 13:43:40.07 ID:E2lXw+Px.net] 普通にポリゴン2dでコチコチ打てるやん ありがとう!!
210 名前:軌道予測 [2024/03/27(水) 15:26:01.61 ID:E2lXw+Px.net] あっ、でも打てないことがある 仕組みが良く分からん
211 名前:軌道予測 [2024/03/27(水) 17:03:39.52 ID:E2lXw+Px.net] 上のバーに編集モードあったナリありがとう
212 名前:軌道予測 [2024/03/29(金) 08:00:09.73 ID:YYuuvBhg.net] 2dステージ作るのも大変ナリね
213 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 12:26:10.39 ID:4gUGlpzt.net] >>209 専スレ立てたら? ここお前のレスで埋め尽くされてるじゃん
214 名前:軌道予測 [2024/03/29(金) 12:44:49.14 ID:YYuuvBhg.net] いいんじゃない 書き込まないと落ちるしもともと人が少ないスレ
215 名前:名前は開発中のものです。 [2024/03/29(金) 13:04:54.90 ID:twd2rh/A.net] なにひとつよくないが、そんなんだから雑談スレ追い出されんだよ 質問ですらない独り言とかTwitterで鍵かけてつぶやいてろ
216 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 13:12:07.70 ID:sRPqCb6v.net] >>211 いくら過疎スレでも占有はよくないよ 自分で専スレ立てれない? そっちを日記として使って、どうしても解決できない問題があるときだけここで聞けばいいよ
217 名前:名前は開発中のものです。 [2024/03/29(金) 13:19:13.92 ID:YYuuvBhg.net] じゃあ君等が落ちないようにしてね
218 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 13:21:25.50 ID:18de9J88.net] dat落ちの条件理解してなさそうだし、適当な事言うのは辞めた方がいい 何か勘違いしてないか?
219 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 13:38:45.51 ID:sRPqCb6v.net] >>214 立てたよ こっち自由に使ってくれ 俺も使う予定 ゲーム制作の日記、備忘録、メモなど好きに呟くスレ https://mevius.5ch.net/test/read.cgi/gamedev/1711686911/
220 名前:名前は開発中のものです。 [2024/03/29(金) 14:40:51.42 ID:YYuuvBhg.net] 荒れるから素直に謝っておくか 不快にさせてすみません
221 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 15:42:09.03 ID:s+Iwx5M0.net] >>210-218 個人粘着でスレの進行妨害するのやめてくれないか? 無駄レスも多いが制作に絡んだ話はしている 自治厨始める奴の方が邪魔 無駄レスが気に入らないなら会話になるGodotの話題を出してくれ
222 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 15:46:26.16 ID:2tYAETUL.net] godot4.0になった辺りで触らなくなったんだがもう4.3まで伸びてんのな 4.1~4.3でなんか目玉機能追加された?
223 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 16:43:00.72 ID:18de9J88.net] そもそも過疎板にはDat落ち判定はないんだが(nKB未満が即死する即死判定はある) 頓珍漢な言い訳はやめなさいと言っただけだぞ
224 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 17:26:29.20 ID:nuxfBRdB.net] 圧縮で落ちるのが最終更新なら2018年とかのが残ってるから確かに当分は大丈夫そうだな
225 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 17:47:38.73 ID:imN+3EnT.net] 3Dファイルはgltf一択? Blender連携はテクスチャ周りが上手くいかん
226 名前:名前は開発中のものです。 [2024/03/29(金) 17:56:09.05 ID:YYuuvBhg.net] >>222 fbxはライセンスの関係で使えないんじゃなかった? 今どうなってるか分からん 3dやってないし
227 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 18:36:00.41 ID:eapD4MOf.net] 数日放置してたら案の定もめてて草 正直異様でスレ見る気も失せる状態だったし >>218 もいちいち絡んでちゃ自治厨と大差ない しょーもな
228 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 21:52:57.37 ID:PtR313Sj.net] オマエモナー
229 名前:名前は開発中のものです。 mailto:sage [2024/03/29(金) 23:38:18.95 ID:imN+3EnT.net] 日本語でgodot関連調べてると大抵同じ人の記事にたどり着く…何者なんだ…
230 名前:名前は開発中のものです。 mailto:sage [2024/03/30(土) 15:36:35.50 ID:8Or9Js4W.net] >>224 これ 変な拘りで自治が自治が言ってる時点で自治してるようなもんだし 5chなんだから気に入らなきゃ別スレでも立てて好きにやりゃ良いのに
231 名前:名前は開発中のものです。 mailto:sage [2024/03/30(土) 23:48:04.78 ID:uJH0yGQv.net] オマエモナー
232 名前:名前は開発中のものです。 [2024/04/01(月) 06:44:36.40 ID:bnl1SBKq.net] マリオみたいな2dアクションってタイルマップ使わずに作るのはあり? タイルマップないと調整が難しいんじゃないかな ジャンプ力3とした場合、谷をタイル3つぶんにすればギリギリ届く、といった調整が簡単
233 名前:名前は開発中のものです。 mailto:sage [2024/04/01(月) 08:02:59.00 ID:PL23FYq5.net] >>229 最近のゲームではNoitaが地形全部ピクセルかなと思います 今はCPUやRAMが潤沢なので十分ありなのでは
234 名前:名前は開発中のものです。 [2024/04/01(月) 12:52:37.52 ID:bnl1SBKq.net] jumpkingみたいな感じのを作りたい あれはタイルマップ感はないけど、タイルマップではないにしてもグリッドをベースにしたほうが楽そう
235 名前:名前は開発中のものです。 [2024/04/01(月) 13:15:59.82 ID:vOJskMGJ.net] godotはグリッドにスナップできるし jumpking程度ならコリジョン付けて配置してくだけで行けると思うよ
236 名前:名前は開発中のものです。 [2024/04/01(月) 17:11:07.39 ID:bnl1SBKq.net] サイトでもグリッドデザインとかあるしね
237 名前:名前は開発中のものです。 [2024/04/01(月) 19:23:56.08 ID:bnl1SBKq.net] https://youtu.be/CNhscDwBGQ0?si=DO2b2Dbeb-f9BhFF&t=836 この画面中央にある浮島みたいな複雑な形状もタイルマップなのかな?
238 名前:名前は開発中のものです。 mailto:sage [2024/04/01(月) 19:35:50.50 ID:Qv7VTYs7.net] JKは地形の最小単位自体は見える気がするし単に細かめのタイルマップで再現できるのはできるんじゃね modの作り方見た感じ判定はRGB画像をタイルマップみたく扱ってて見た目は一枚絵被せてるらしい
239 名前:名前は開発中のものです。 [2024/04/01(月) 20:13:46.87 ID:bnl1SBKq.net] タイルマップ研究してみる 機能じゃなくてデザインから作る試みをしてるから 被せるというのは、つまりタイルマップでマスキング(くり抜き)してる感じかな?
240 名前:名前は開発中のものです。 mailto:sage [2024/04/01(月) 21:28:39.74 ID:Qv7VTYs7.net] RGB画像は1画面辺り60×45とかの荒いやつだから違う ゲームデザイン(判定、地形)だけタイルマップ式でそれに合わせた画像を別で用意してるってこと これ貼るのが早いか ttps://jumpkingplus.github.io/workshop/docs/modding/hitboxes/ ttps://jumpkingplus.github.io/workshop/docs/modding/screens/
241 名前:名前は開発中のものです。 [2024/04/02(火) 06:38:50.57 ID:gq8N0/8x.net] >>237 ん?一枚絵を重ねる感じ?
242 名前:名前は開発中のものです。 [2024/04/03(水) 19:26:17.38 ID:BKl8fFHu.net] 慣れてないとタイルマップでステージ作るの難しいね
243 名前:名前は開発中のものです。 [2024/04/04(木) 18:23:04.76 ID:Yk95TemJ.net] タイルマップエディタの位置って変更出来る? 下のスペースだと作業しづらくてしゃあない
244 名前:名前は開発中のものです。 mailto:sage [2024/04/05(金) 02:45:26.77 ID:Pqxpfu1i.net] CollisionLayerやVisibilityLayerのレイヤー名適当に付けてきたから並び替えしたいけど面倒だなー かといってスクリプトで管理するのも面倒
245 名前:名前は開発中のものです。 [2024/04/05(金) 06:47:12.42 ID:VPXaZ05P.net] タイルマップのアルファ部分を境界線として自動的にコリジョンつける機能あったっけ?
246 名前:名前は開発中のものです。 [2024/04/07(日) 10:10:16.82 ID:XQBKHWlL.net] 1つのゲーム何ヶ月くらいかける? そんな大作は作れないから数週間程度にしとくといいのかなと思うが
247 名前:名前は開発中のものです。 [2024/04/07(日) 12:40:54.04 ID:B7MxZFEN.net] 初めて作るなら二週間くらいで作れそうなのにした方が早めに世に出せていいと思う 製作期間なんてどうせ伸びるし
248 名前:名前は開発中のものです。 [2024/04/07(日) 14:24:50.23 ID:XQBKHWlL.net] ありがとう 想定の2倍以上はかかる 確かに
249 名前:名前は開発中のものです。 [2024/04/07(日) 20:10:06.18 ID:XQBKHWlL.net] 2dアクションのステージ作るときにタイルセットじゃなくて、ポリゴンノードを1枚のタイルとして大量に並べていったらパフォーマンスにかなり影響出るのかな? 数千とかそういうレベルになったら
250 名前:名前は開発中のものです。 mailto:sage [2024/04/08(月) 00:34:30.27 ID:BT1LWWM9.net] 余裕で出るだろうねぇ Godotがすごすぎエンジンで問題なかったら逆にビックリするけど
251 名前:名前は開発中のものです。 [2024/04/08(月) 05:26:25.44 ID:EcmamLs3.net] どうも 出るか、、、 ポリゴンノードの羅列のほうが柔軟に形状変えられていいかなと思ったけど、タイルマップでやる タイルマップは形状にどうしても制限が出るから
252 名前:名前は開発中のものです。 mailto:sage [2024/04/08(月) 13:22:19.11 ID:BT1LWWM9.net] 性能テストだと思って実際に作って負荷検証した方がプロっぽいけどな Zennとかで投稿して知見共有してくれてもいいのよ? 宣伝にもなるし あ、契約書からむような案件だったらダメだけど
253 名前:名前は開発中のものです。 [2024/04/08(月) 14:15:01.29 ID:EcmamLs3.net] ありがとう zennってたまに見るけどブログとしていいね fc2から乗り換えよう
254 名前:名前は開発中のものです。 [2024/04/09(火) 11:56:09.63 ID:oLx3m2KZ.net] https://dev.to/christinec_dev/learn-godot-4-by-making-a-2d-platformer-part-4-level-creation-1-4obb オートタイルはterrain使ってやる感じ? 今学習中 スクリプト無しで出来るならいいけど この解説生地を書こう
255 名前:名前は開発中のものです。 [2024/04/09(火) 14:36:54.29 ID:oLx3m2KZ.net] https://imgur.com/B6lPvsv オートタイルを作りたいけど、仕組みがよく理解できない terrainをペイントすることでそれっぽくなるけど、どこをどうペイントするといいのかガ分からない
256 名前:名前は開発中のものです。 [2024/04/13(土) 06:35:26.13 ID:DtpmdlV4.net] https://www.youtube.com/watch?v=TCEEKKeoT-0 オートタイルの動画あったけど仕組みが分からん 塗った場所によって、どのようにつながるか決まるらしいけど、どなたか教えて
257 名前:名前は開発中のものです。 mailto:sage [2024/04/13(土) 12:16:44.81 ID:4XyoFcVO.net] いやこれで分からないんじゃ説明のしようがねえじゃん
258 名前:名前は開発中のものです。 mailto:sage [2024/04/13(土) 14:29:45.52 ID:2dO4J81U.net] 俺の立てたスレに来たら懇切丁寧に教えてもよかったけど この顔文字くん来ないんだよな 人が多いとこに居たいんだろうけど
259 名前:名前は開発中のものです。 [2024/04/13(土) 15:12:12.60 ID:DtpmdlV4.net] 立てたっけ?
260 名前:名前は開発中のものです。 mailto:sage [2024/04/13(土) 15:15:11.02 ID:2dO4J81U.net] >>256 ここな>>216
261 名前:名前は開発中のものです。 [2024/04/13(土) 15:27:51.76 ID:DtpmdlV4.net] 人のこと池沼とか書いてるやついるからええわ
262 名前:名前は開発中のものです。 mailto:sage [2024/04/13(土) 22:30:37.04 ID:PLTsef0l.net] 自覚持てよ
263 名前:名前は開発中のものです。 [2024/04/14(日) 04:27:19.96 ID:xkIt8wPU.net] そういうのいらないから
264 名前:名前は開発中のものです。 mailto:sage [2024/04/14(日) 14:53:38.25 ID:pt7t7Gdb.net] オマエモナー
265 名前:名前は開発中のものです。 [2024/04/17(水) 11:03:55.56 ID:c7cp2PUr.net] godot4で方向取る関数ってなんですか? input.get_axisだと引数が2つ必要になっていましたね 以前はinput.get_axis("horizontal")←これで横方向がトレていたのですが、
266 名前:名前は開発中のものです。 mailto:sage [2024/04/17(水) 11:23:02.69 ID:S9SgvMuX.net] 以前とはいつの事か?またはどのバージョンの事か? 質問する前に自分の記憶が正しいかの確認をする https://docs.godotengine.org/en/3.4/classes/class_input.html 初登場時からget_axisの引数は2つ get_axisの機能を方向取る関数と認識しているのならば 引数の形式が変わっていても新しい引数の形式での使い方を理解するしかない
267 名前:名前は開発中のものです。 [2024/04/17(水) 11:59:17.28 ID:c7cp2PUr.net] >>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) 文字列での分岐にすることにしました
268 名前:名前は開発中のものです。 mailto:sage [2024/04/17(水) 12:28:13.73 ID:S9SgvMuX.net] なんとなくの予想だが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")
269 名前:名前は開発中のものです。 mailto:sage [2024/04/17(水) 14:58:45.87 ID:S9SgvMuX.net] 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
270 名前:名前は開発中のものです。 [2024/04/17(水) 17:28:28.38 ID:c7cp2PUr.net] どうも get_vectorで方角を返すってやつですね
271 名前:名前は開発中のものです。 [2024/04/18(木) 11:29:20.11 ID:o06ulE3s.net] godotは割とredditが賑わってるのがありがたいは むしろunityより賑わってるのが謎
272 名前:名前は開発中のものです。 [2024/04/19(金) 18:17:49.55 ID:611er4q0.net] 配列特定の値を探したい場合、forで回して比較演算子かfindか使い分けはどうすればいいの?
273 名前:名前は開発中のものです。 mailto:sage [2024/04/19(金) 19:27:59.70 ID:6eKwksTY.net] 関数の方が安全で手っ取り早い代わりに若干低速な可能性がある どれくらい差があるかは知らない 配列の中身が順番に並んでるならbsearch使うか二分探索自分で書けば速い
274 名前:名前は開発中のものです。 [2024/04/19(金) 19:31:58.50 ID:611er4q0.net] どうも どのみち二次元だとfind使えないみたいですね
275 名前:名前は開発中のものです。 [2024/04/20(土) 11:57:25.68 ID:gSjSgOMM.net] 一時的にスクリプトを停止出来ますか? processをdisableしてもprintはされるみたいです
276 名前:名前は開発中のものです。 [2024/04/21(日) 10:08:48.46 ID:YXvcVHHE.net] 定型文登録って合ったっけ? 以下の4方向バージョンを登録しておきたい if Input.is_action_just_pressed("ui_up"): move()
277 名前:名前は開発中のものです。 [2024/04/23(火) 12:13:26.37 ID:/jRBBB4p.net] 特定の関数の中でしか使わない関数ってのはどう定義すればいいの? 入れ子に出来れば関係ない場所から参照されないからいいと思うんだけど func outer(): func inner(): こんな感じの入れ子は無理っぽいからラムダってやつ使うのかな しかし、以下だとprint結果が帰ってこない extends Node2D func _ready() -> void: print(lam) var lam = func outer(num): var value = "hogehoge" return value
278 名前:名前は開発中のものです。 [2024/04/23(火) 12:26:20.71 ID:/jRBBB4p.net] あっ、callしないと駄目なんですね
279 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 13:00:39.54 ID:K58WhwWv.net] 関数のままでは入れ子にできないからCallableとして宣言する 呼び出しは変数名で行うから関数名はなくて良い func _ready(): var innner = func(x = 1):return x * 2 prints("inner() called:", innner.call()) prints("inner(2) called:", innner.call(2))
280 名前:名前は開発中のものです。 [2024/04/23(火) 14:27:19.77 ID:/jRBBB4p.net] どうも 入れ子で書けないのなら、普通の関数とあまり変わらない感じですね 視覚的にこう1箇所にまとめたかったんですが
281 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 15:16:36.49 ID:K58WhwWv.net] 変数に代入して使うのが馴染みないかもだが 関係ない場所からの参照ができなくなるから>>274 で求められた機能としては十分 使用する変数は大体最初に宣言するから一箇所にまとまるのでは?
282 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 15:27:32.29 ID:K58WhwWv.net] >>272 完全停止は出来ないがprocess_modeにdisableを指定した上で 動かれて困るメソッドの先頭に以下の一文でも足せば良いんじゃないかな? if process_mode == Node.PROCESS_MODE_DISABLED: return
283 名前:名前は開発中のものです。 [2024/04/23(火) 19:08:20.21 ID:/jRBBB4p.net] >>278 関係ない場所から参照出来なくなるというのは、callが付与されることで、そのような効果があるということでしょうか? >>279 どうも disableでもおそらくreadyは動くみたいですね
284 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 19:38:02.85 ID:K58WhwWv.net] ローカルで宣言した変数のスコープはローカルという普通の話 別にCallableでの特別処理とかではない グローバルで宣言すればグローバルから扱える _readyの様な初期化処理まで動かしたくないというなら自分は設計の見直しをする 必要なときにadd_childとqueue_freeすればprocess管理する必要がないのではないか?
285 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 19:44:45.31 ID:nRUQyvbL.net] 15歳のGodot教本クラファン、あれ支援してみようかなー
286 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 20:12:37.57 ID:SVQ
] [ここ壊れてます]
287 名前:G4/08.net mailto: 確か達成してた気するけどああいうの上乗せ倍プッシュで支援てできるんだっけ?いいんじゃね [] [ここ壊れてます]
288 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 20:42:58.34 ID:nRUQyvbL.net] ぶっちゃけGodot全然わからんちんなんで 支援して、本貰って自分にシバキを入れたいって思いもある おっちゃんが15歳に負けたくない><
289 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 20:49:38.67 ID:K58WhwWv.net] 始めるなら早い方が良いから完成待たずに既にあるのでやってみたら? https://progsha.org/
290 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 23:25:40.86 ID:5HqoYOxs.net] 3000円で紙の本と電子本両方もらえるならむしろ安いよね 良心的なクラファンだ
291 名前:名前は開発中のものです。 [2024/04/24(水) 04:23:26.66 ID:oxZnmf8P.net] >>281 なるほど 中で宣言するというだけですね
292 名前:名前は開発中のものです。 [2024/04/24(水) 20:15:21.72 ID:oxZnmf8P.net] 倉庫番のロジックで分からないところがあるのでこっちで質問させてもらいます マップは二次元配列で作成します ただ、キャラクターの移動はvector2で行います 1マスの大きさが32であった場合、vector2の座標が32,0だとしたら、配列上ではarray[y0][x1]となりますよね。 こういった変換に便利な関数とかないでしょうか? やりたいことを箇条書きにすると以下です 1:vector2の座標から配列上の座標を割り出す 2:キャラクターが移動したとき、配列上のキャラクター座標を移動させる(配列上の要素2がキャラとしてます)
293 名前:名前は開発中のものです。 mailto:sage [2024/04/24(水) 20:27:18.43 ID:PzjnMMaW.net] 普通に割り算して切り捨てるだけでは ものを1マス単位で動かさない前提なら1マス辺りの座標を1にして逆に見た目の方の座標を掛け算なりする方が楽
294 名前:名前は開発中のものです。 mailto:sage [2024/04/24(水) 22:41:11.22 ID:YL8z0NQ2.net] 自分が便利なように関数かけばいいじゃないの
295 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:19:55.34 ID:5JWtrSqN.net] 昔の2Dゲーム機は基本的に背景をマップタイル(キャラクタージェネレータなどとも呼ばれる)単位で管理してたものだから、同じように仮想的なタイルを敷き詰めた画面があるものとして構造体組んで、その上でモブがタイルに沿って動く管理を考えるのがとりあえずは昔のノウハウを適用できて簡単だと思う 倉庫番はまさにそういう動き
296 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:27:21.13 ID:8kKIrJCJ.net] AIに聞けばええやん
297 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:30:55.75 ID:5JWtrSqN.net] なのでモブが動くときはpix単位の座標移動が発生するけどそれはサブルーチンとして、ゲームアルゴリズムとしてはマップ全体の座標を整数の配列で(例えば100×100とか)表して制御し、画面に表示する座標は既に言われてるように適切に係数掛け算する関数を作るのが良いと思います 倉庫番の場合、マップが広いレベルを縮小してモニタに表示したりするので、その拡大縮小表示の変換が自由にできるほうがUXが良くなるし、なんなら回転表示もしたくなるかもしれないので。
298 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:33:10.60 ID:5JWtrSqN.net] >>292 まあ倉庫番まんまならAIに頼めばノーコードで完成するでしょうな しかしゲームメカニクスの基礎は自分の頭で考えないと応用が効かなくなるから
299 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:42:09.44 ID:7TwSlN/Q.net] ちがうアプローチとしてはTileMapを使用するかな 使えるようになるまでのコストが大きいからお勧めとは言い難いが 高機能で複雑な分、理解できたら便利なクラス
300 名前:名前は開発中のものです。 mailto:SAGE [2024/04/25(木) 01:06:24.88 ID:/gUanyy1.net] 理解できないから半年以上苦しんでるんでしょう。 もっと園児でもわかるような単純なやり方を教えてあげて
301 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 01:08:58.36 ID:5JWtrSqN.net] まんまTilemapなクラスがあったのね これなら簡単だわ勉強になりました
302 名前:名前は開発中のものです。 [2024/04/25(木) 06:12:26.81 ID:Esvk0j05.net] >>291 キャラの動きも配列の書き換えで行って、書き換えられたら再描画というふうにしてもいいんですが これだと滑らかに動くキャラってのが作れなくなるんですよね だからチュートなどではvector2で移動させてるんだろうなと マップ座標とvector2座標の変換は必要になりますね >>289 別に特殊なクラスとか使うことないんですね
303 名前:名前は開発中のものです。 [2024/04/25(木) 06:27:04.46 ID:Esvk0j05.net] >>293 ゲームロジックとしては配列の書き換えだけということですか? 配列の書き換え→その位置に基づいてキャラを描画、ということでしょうか
304 名前:名前は開発中のものです。 [2024/04/25(木) 12:30:15.39 ID:Esvk0j05.net] 関数から、2つの値を返すには何使うんですか? カンマ区切りではダメだったので[1,2]こういう形にしたらいけました