【軽量】godot engine【無料】 part4 (697レス)
1-

657: 04/08(火)11:41 ID:rXfIZT9p(1/2) AAS
godot上でピクセル絵描けるツールとかないかな?
658: 04/08(火)11:42 ID:rXfIZT9p(2/2) AAS
pixel penゆーのがあったね
659: 04/16(水)10:27 ID:USGAi99p(1/3) AAS
tilemapで特定のセルしか塗られない という仕組みは出来るかな?
マスクみたいな

白黒のマスクを作ってとか
660: 04/16(水)12:29 ID:HPnurk8H(1/2) AAS
タイルマップを塗るのは自分で書いたコードなのだからそりゃできるわな
その場合、塗りたいセルが塗って良いセルか否かを判別する情報が必要
661: 04/16(水)12:49 ID:USGAi99p(2/3) AAS
自分で判別するんじゃなくて、tilemapの昨日で出来るんかなと
662: 04/16(水)13:05 ID:HPnurk8H(2/2) AAS
機能としては提供されてないな
663: 04/16(水)13:29 ID:USGAi99p(3/3) AAS
ありがと
自分でなんとかやってみるち
664: 04/20(日)13:01 ID:UIIFrd6j(1/3) AAS
質問なんだけど、タイルマップのタイルの種類に応じてidつけることは可能?
タイルセット1枚にはつけられたはず
665: 04/20(日)16:34 ID:0anrQQbo(1/3) AAS
タイルセットのCustomDataLayerにカスタムデータを追加する
カスタムデータのNameが未設定だとタイルセットエディタでの名前表記がIDになる
Typeには格納する変数型を指定するがintでいいだろ
0なら未設定 1なら壁 2なら道などと扱う事にする
666: 04/20(日)17:37 ID:UIIFrd6j(2/3) AAS
どうもす
理解
667: 04/20(日)19:19 ID:UIIFrd6j(3/3) AAS
customdatalayerがタイルセットのidで、タイル1枚1枚なら名前がidね
なるほど
道と壁のタイルセットに分けないんで今回はタイル1枚1枚に名前かな

タイルセットって、道も壁も1枚にまとめられてる気がする
668
(1): 04/20(日)21:52 ID:0anrQQbo(2/3) AAS
その言い回しだとIDの理解に何か誤解があるように思える
タイルセットにはタイルセットのIDがありカスタムデータにはカスタムデータのIDがある

カスタムデータを追加した際にNameプロパティを設定しないとタイルセットエディタ側での表示が
カスタムデータのID番号になるからNameプロパティを設定した方が良いと言いたかったのだが伝わらなかった様だ
実際にあれこれ試せば解ると思うのでやってみれくれ

タイルセットとはタイルマップに表示するタイルの表示方法を定義する情報なので
特別な事情がなければ道も壁も1枚にまとめられるのが普通だと思う
669: 04/20(日)22:12 ID:Po2ZHIMW(1) AAS
get_cell_atlas_coords() で返ってきたアトラス座標をIDとみなすのではダメなんか?
670: 04/20(日)22:19 ID:0anrQQbo(3/3) AAS
全然良いよ
管理の手間をどこに持たせるかの話で少量で済むならそれで済ます
671
(1): 04/21(月)06:13 ID:2ER0W1kA(1/4) AAS
>>668
やってみたけど、タイル1枚1枚へのidはつけられないように見える
画像リンク[jpg]:i.imgur.com
タイルセット全体へのidなのかな?
英語で探しても良くわからんわこのへん
672: 04/21(月)06:15 ID:2ER0W1kA(2/4) AAS
あー ペイントするのか
673
(2): 04/21(月)06:45 ID:ocOQbTkQ(1/4) AAS
>>671
画像貼るの初めてなんだがこれで見れるかな?
外部リンク:imgur.com
読みやすくするためにデータ型を文字にしてある

タイルセットのタイルに意味を持たせる機能なので
タイルマップで同じタイルを複数配置した際に別の意味を持たせる事には使えない
その場合は自分で座標で区別する処理を実装する必要がある

大体こんな感じ
var grass:Array[Vector2i] = [Vector2i(0, 0), Vector2i(0, 1), ...] # grassとして扱いたい座標を格納する
var coords = Vector2i(0, 0) # 調べたい座標
省1
674: 04/21(月)13:16 ID:2ER0W1kA(3/4) AAS
>>673
どうも
タイル一つひとつにユニークな意味を持たせなくてもいいから、これでいけるね
タイルセット1つ1つに名前つけたいだけ
壁とか床とか
675
(2): 04/21(月)13:31 ID:ocOQbTkQ(2/4) AAS
座標個別の判定が不要なら説明のコードは無視で良いんだけどちょっと不備があるので訂正しておく
この例だとgrassか否かの判定しかできないけどArrayでなくDictionaryを使うと座標個別で中身を変える事もできる

var grass:Array[Vector2i] = [Vector2i(0, 0), Vector2i(0, 1), ...] # grassとして扱いたいアトラス座標を格納する
var coords = Vector2i(0, 0) # 調べたいタイルマップ座標
var atras_coords = tilemap.get_cell_atlas_coords(coords) # 調べたいタイルマップ座標のアトラス座標を取得
if atras_coords in grass: print("this tile is grass")
676: 04/21(月)13:36 ID:ocOQbTkQ(3/4) AAS
いやボケてるなタイルマップの座標に個別の意味を持たせるなら>>673でいい
>>675だとカスタムデータとやってる事が同じになる
すまん忘れてくれ
1-
あと 21 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.013s