mieki256's diary



2012/09/05(水) [n年前の日記]

#1 [flash][starling] Starlingを再勉強中

先日、 _Texture Atlas用の画像とxmlを生成するPythonスクリプト を書いたので、ようやく本来の Starling の勉強を再開。

Starling の MovieClip を使えば、Texture Atlas の画像とxmlを使って、パラパラアニメ(?)が表示できるのだけど。どうも表示がおかしい。元画像をそのまま並べた画像と、元画像の余分な部分を削除(いわゆるtrim)して配置した画像の2種類で表示してみたら、表示結果が違っていて。前者は問題無いけれど、後者はコマによって画像が拡大されて表示されてしまう。どうも、MovieClip で表示する際に使う領域 ―― uv座標領域とでも言えばいいのかな ―― は、全て同じサイズになってないといけない模様。

Starling に渡す xml では、そのあたりも規定してるようで。 _TextureAtlas - Starling Framework Reference を見ると、frameX, frameY, frameWidth, framwHeight という要素?で指定するらしい。が、それぞれが何の値を示しているのかよく分からず。

何にせよ、先日書いたスクリプトは、--trim をつけないで使う分には問題無いけど、--trim を使うなら修正が必要だなと。

全然関係ないけど。Flash CS6 には、Texture Atlas用の画像とxmlを生成する機能が追加されているらしいので、Flash CS6 を持っている人なら、このへん全然関係ない話。

#2 [python] PILを勉強中

透明色を指定したインデックスカラーのPNG画像を、背景色が青の新規画像に貼り付け(paste)しようとしたのだけど。透明部分は、青になるはずなのに、元画像の透明色で塗り潰されてしまってハマる。

_python - Transparent PNG in PIL turns out not to be transparent - Stack Overflow を見て解決。
from PIL import Image
img = Image.open(basefile)
layer = Image.open(layerfile) # this file is the transparent one
print layer.mode # RGBA
img.paste(layer, (xoff, yoff), mask=layer)
# the transparancy layer will be used as the mask
img.save(outfile)
maskを指定すれば良かったのか…。

以上、1 日分です。

過去ログ表示

Prev - 2012/09 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project