[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
300: 2024/04/25(木)12:30 ID:Esvk0j05(3/6) AAS
 関数から、2つの値を返すには何使うんですか? 
 カンマ区切りではダメだったので[1,2]こういう形にしたらいけました 
301: 2024/04/25(木)12:50 ID:Esvk0j05(4/6) AAS
 ↑2つの値を返して、二次元配列として使いたい感じです 
  
 array[0][0] 
 こんな感じです 
302: 2024/04/25(木)13:25 ID:7TwSlN/Q(2/4) AAS
 2つの値を返す方法が[1,2]でいけたならそれで解決じゃね? 
 var return_value = [1, 2] 
 array[return_value[0]][return_value[1]] 
303: 2024/04/25(木)14:29 ID:ddMre8ET(1/4) AAS
 GDScriptでいいのか? 
  
 Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので 
 Pythonで複数の値を返す時に使うTupleは使えないんだとよ 
  
 方法としては2つ、Arrayで返すかDictionaryで返す 
  
 以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ 
  
 外部リンク:gd.tumeo.space 
304: 2024/04/25(木)15:44 ID:Esvk0j05(5/6) AAS
 ありがとう配列で値を返して、インデックス番号でとればいいんですね 
 これがタプルってやつですか 
外部リンク:www.reddit.com 
 あと、人いねーと思っていつもの癖でマルチポストしちゃった 
 ごめんなさい改善します 
305: 2024/04/25(木)16:12 ID:ddMre8ET(2/4) AAS
 マルチでもなんでも問題解決できりゃなんでもいいんだぞ 
 あとTupleの話は出すべきじゃなかったな、忘れてくれ 
306(1): 2024/04/25(木)16:35 ID:lNMYdYSi(1) AAS
 流石になんでも良くはねえよ… 
 それぞれの場所で時間使って答えてくれてんだから 
307(1): 2024/04/25(木)17:07 ID:7TwSlN/Q(3/4) AAS
 同じ質問は数日待っても解答が得られなかったらとか制限は掛けた方がいいな 
 redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる 
308(1): 2024/04/25(木)17:42 ID:ddMre8ET(3/4) AAS
 >>306 一理ある。初心者は気を遣うことを覚えるより完成させることを優先しろ、オレの先輩の言葉 
  
 >>307 配列のIndexを返したいって話だから、Vec2はオーバーキルだと思うぞ。ぶっちゃけやってることは同じだしわかりやすい方でいいんだけどさ。This is KISS. 
309: 2024/04/25(木)18:26 ID:Esvk0j05(6/6) AAS
 すまん、どちらか一方にするよ 
 redditはそれにしても人多いねぇ 
310: 2024/04/25(木)18:43 ID:/XEpAv2m(1) AAS
 つーかマルチポストで聞く暇あるなら少しは勉強しろよ 
 初歩的な問題で詰んでるなら尚更 
311(1): 2024/04/25(木)20:20 ID:7TwSlN/Q(4/4) AAS
 >>308 
 質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる 
 func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i: 
  return cpos / size 
312: 2024/04/25(木)21:13 ID:ddMre8ET(4/4) AAS
 おー、なるほどね! 
 Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ 
313(1): 2024/04/26(金)06:09 ID:1Ez+K35D(1/3) AAS
 >>311 
 すみません 
 なんか自己流で複雑なやり方になってる気がする 
 普通はキャラ座標とマップ座標の変換はやらずに、座標を1つに統一したりするんでしょうか 
314(2): 2024/04/26(金)13:14 ID:yaANzBxw(1) AAS
 上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは 
 その方がセーブやアンドゥも楽になる 
315(1): 2024/04/26(金)13:46 ID:1Ez+K35D(2/3) AAS
 >>314 
 配列使わないということですか? 
 配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか 
 二次元配列を使った場合、以下のようにマップを表現すると思います 
 1=壁,2=キャラ、3=動かせる箱、0=動ける範囲 
 [ 
 [1,2,3,0,1], 
 [1,0,0,0,1], 
 [1,1,1,1,1], 
 ] 
  
 グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。 
 1pxずつ動かしたいわけじゃないので、それはその通りです。 
316: 2024/04/26(金)13:52 ID:XXsncJVJ(1) AAS
 もしかしてモブはスプライト管理じゃない? 
317(1): 2024/04/26(金)14:35 ID:/ZFKx6UF(1/2) AAS
 >>315 
 倉庫番である以上オブジェクトは必ず格子状に配置し管理される 
 それを2次元配列とみなす事ができる 
 配列を使わない場合は遠回りに配列があるのと同等の処理を行うだけ 
  
 なぜ>>314の説明で配列使わないという解釈になるのかが判らない 
 配列を使わない便利な魔法でもあると想像してないか? 
 配列を使わない方法があっても手間が増えて複雑になるだけだから配列が使われる 
 配列を使った方法で理解するのが定番 
318: 2024/04/26(金)14:55 ID:/ZFKx6UF(2/2) AAS
 >>313 
 昔はコンソール上で動かす前提で表示もキャラクター単位だったので 
 配列の要素番号と表示座標の変換は不要だった 
 今はウインドウアプリになって表示に座標変換は必須 
 ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも 
 昔よりは複雑になり難易度上がってはいる 
319: 2024/04/26(金)15:42 ID:86tvu5TE(1/2) AAS
 絵文字使ってるので表示が上手くいかなかったらごめん 
  
 ゲームとしては全然足りないし完成させる所までが課題ではあるが 
 学習項目を配列のみに集約するとこの配列操作が理解できれば十分 
 func _ready(): 
  var map = "🧱👷📦🚩🧱\n" 
  print(map) 
  map[3] = map[2]  
  map[2] = map[1]  
  map[1] = "◾"  
  print(map) 
320: 2024/04/26(金)15:45 ID:86tvu5TE(2/2) AAS
 二次元配列まで理解できたら上出来 
 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) 
321: 我のうんちは小粒(^^ ◆OyJP7qHDVvEI  2024/04/26(金)17:21 ID:jKYfR5nN(1) AAS
 二次元配列って配列に配列入れるやつでふよね(^^ 
 そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^ 
 煽りとかいじめでいってるんじゃなくて真剣に(^^ 
  
 ボッキング!(^^ 
322(1): 2024/04/26(金)18:10 ID:1Ez+K35D(3/3) AAS
 >>317 
 配列でやってみます 
 ありがとう 
  
 昔のやり方というのは、配列の座標を書き換える→画面表示を更新、といったやり方ですよね 
 今のように、ぬるっと動かすことが出来ないということですね 
323: 2024/04/26(金)18:28 ID:Tn7ydmJN(1) AAS
 >>322 
 今の奴ってどのサンプルの話? 
 存在しない物を今とか空想してんの? 
324(1): 2024/04/27(土)14:28 ID:RX6jyHGA(1/3) AAS
 フローチャートよりシンプルな図示方法ってないかな? 
 やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする 
 可といってフローチャートは難しい 
325: 2024/04/27(土)14:39 ID:RX6jyHGA(2/3) AAS
 擬似コードってのやってみますゆえ 
326: 2024/04/27(土)16:13 ID:b+RnbsA6(1) AAS
 フローチャートが難しいってどういう事 
327: 2024/04/27(土)17:08 ID:RX6jyHGA(3/3) AAS
 むずいというか、他人に説明するためのものではないので、自分だけ分かる方法でいいかなと 
 より簡易的であればいいです 
  
 フロチャは図形の使いこなしが苦手です 
328(1): 2024/04/27(土)22:14 ID:toVZIEFB(1) AAS
 >>324 
 plantumlが面白いかも 
 plantuml web serverでインストール不要で試せる 
 検索すればフローチャートの書き方もあるっぽいので 
 コピペして遊んでみては? 
329: 2024/04/28(日)02:33 ID:XkoBpqzr(1) AAS
 Godotの2Dのコンセプトは3Dを2Dに見せるやり方ではないってのだけはすぐ分かるのだけど、仮想ゲームマシン的な意味での最大スペックはどこ見ればいいのだ 
 実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな? 
  
 他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。 
上下前次1-新書関写板覧索設栞歴
あと 673 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s