[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
313(1): 名前は開発中のものです。 [] 2024/04/26(金) 06:09:14.77 ID:1Ez+K35D(1/3) AAS
>>311311(1): 名前は開発中のものです。 [sage] 2024/04/25(木) 20:20:30.32 ID:7TwSlN/Q(4/4) AAS
>>308
質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる
func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i:
return cpos / size
すみません
なんか自己流で複雑なやり方になってる気がする
普通はキャラ座標とマップ座標の変換はやらずに、座標を1つに統一したりするんでしょうか
315(1): 名前は開発中のものです。 [] 2024/04/26(金) 13:46:32.39 ID:1Ez+K35D(2/3) AAS
>>314314(2): 名前は開発中のものです。 [sage] 2024/04/26(金) 13:14:53.40 ID:yaANzBxw(1) AAS
上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは
その方がセーブやアンドゥも楽になる
配列使わないということですか?
配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか
二次元配列を使った場合、以下のようにマップを表現すると思います
1=壁,2=キャラ、3=動かせる箱、0=動ける範囲
[
[1,2,3,0,1],
[1,0,0,0,1],
[1,1,1,1,1],
]
グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。
1pxずつ動かしたいわけじゃないので、それはその通りです。
322(1): 名前は開発中のものです。 [] 2024/04/26(金) 18:10:17.22 ID:1Ez+K35D(3/3) AAS
>>317317(1): 名前は開発中のものです。 [sage] 2024/04/26(金) 14:35:25.85 ID:/ZFKx6UF(1/2) AAS
>>315
倉庫番である以上オブジェクトは必ず格子状に配置し管理される
それを2次元配列とみなす事ができる
配列を使わない場合は遠回りに配列があるのと同等の処理を行うだけ
なぜ>>314の説明で配列使わないという解釈になるのかが判らない
配列を使わない便利な魔法でもあると想像してないか?
配列を使わない方法があっても手間が増えて複雑になるだけだから配列が使われる
配列を使った方法で理解するのが定番
配列でやってみます
ありがとう
昔のやり方というのは、配列の座標を書き換える→画面表示を更新、といったやり方ですよね
今のように、ぬるっと動かすことが出来ないということですね
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s