-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MapSpriteで各レイヤー毎にTileset画像を指定できるようにしたい #122
Comments
Tiled map XML (tmx) 的には、複数の tileset を指定した場合は、全部をマージした tileset 1つになるみたいですね。 tmx はとりあえず置いておいて、
1つのレイヤーで複数のタイルセットも使いたくなるから、Tiled では、全部1つにしてる気がしますね… |
@fukuyama あ、たしかにレイヤー側に設定できた方が良いですね。 Tiled map XMLは私よく知らないんですが、全部一つのタイルセットにすると、 Tiledの場合と、この場合、両方認めてくれるとうれしーです♪ |
たぶん、福山もそのうち使いたくなるので、ちょっと手をつけてみようかな~ MapSprite は、1つのレイヤーで複数のタイルセットとか、複数のレイヤーに、1つのタイルセットとか MapSheet か、その派生クラスの初期化方法の1つとして、 で、tmx での初期化とか、json での初期化とか、その他でも対応出来る感じがする。 |
watch |
自分のforkしたほうでは、できました~。 #125 がマージされたら、それをさらに修正って感じでプルリクします。
こんな感じです。今のところ。 layer の方の tilesets には、数値、文字列、数値配列、文字列配列が指定できて、 layer の tilesets 指定が無い場合は、もともとのタイルセットの順番。(tmxの場合は無い) |
@fukuyama わー、ステキです! この例の場合は、pink(test03.png)とblue(test04.png)の画像がマージされて、layer.data配列内の各セルの数値は、そのマージされた画像のセルのインデックスを指すという理解でよいでしょうか? |
@emadurandal
|
developに取り込まれたようなので、早速使ってみたのですが、 2つ目のレイヤーのdataの配列で要素に0を指定すると、blue(test04.png)の最初のマップチップでなく、pink(test03.png)の最初のマップチップが表示されてしまいます。なので、現状pink(test03.png)のタイル数を覚えておいて、その数だけオフセットしないといけない(pink(test03.png)のタイル数が5だったら、レイヤー2のdataでblue(test04.png)の最初のマップチップを表示したいときは5、2番目のマップチップを表示したいなら6を指定しないといけない)状況です。 これ、オフセットを内部で自動でやってくれるようにはできないでしょうか? |
@emadurandal |
ありがとうございます。なんだか要求してばっかりですみません(汗) |
こんにちはー。
表題の通りの要望ですー。
以下の様な感じにできると素敵だなーと思いまして。
tmlibのコードのtm.display.MapSpriteの定義内のコードを以下のような感じにしたら(すっごい初心者なコード(汗))、とりあえず行けたのですが、
他のコード部分との整合性とか大丈夫か自信がなかったのでプルリクでなくイシューで上げさせていただきました。
ご検討よろしくお願いいたします。
The text was updated successfully, but these errors were encountered: