[もどる]
一括表示
0987 背景を表示した状態での回転
投稿者:マンボー 2007/07/17(火) 18:53

はじめまして。最近yu-risを触らせてもらっています。
ドキュメントとサンプルが豊富でいいですねー。

今回転のsample_005をやっているのですが、
背景を表示した状態でスプライトを回転したとき
黒い部分が表示されてしまいます。

http://sakuratan.ddo.jp/uploader/source/date44829.jpg

このような感じです。これは対処法があるのでしょうか?

0989 回転について
投稿者:たくみ 2007/07/19(木) 18:29

> はじめまして。最近yu-risを触らせてもらっています。
> ドキュメントとサンプルが豊富でいいですねー。
>
> 今回転のsample_005をやっているのですが、
> 背景を表示した状態でスプライトを回転したとき
> 黒い部分が表示されてしまいます。
>
> http://sakuratan.ddo.jp/uploader/source/date44829.jpg
>
> このような感じです。これは対処法があるのでしょうか?

マンボーさんどうもです。
すみません、現状だとデフォルトでは回りの黒い部分は仕様になってしまいます。
なんとも微妙な仕様でごめんなさい;
次のバージョンではこの現象は直る予定なのですが、
もし現バージョンでなんとか解決させるとしたら、
下のサンプルのように別途同じサイズのマスク画像を用意して一緒に回転させれば、
なんとかムリヤリ解決させることも出来ます。

//----------------------------------------------------------------------------

//背景
CG[ID=BG Z=10 FILE="cg/bg"] //任意の画像を指定してください
CGACT[ID=BG SIZE=1 SX=800 SY=600]

//回転画像を透過させるためのマスク画像用意(透過部分が黒、非透過部分が白)
//※1
CG[ID=SRC_CG_MASK Z=01 E=0 SX=320 SY=240 FILE=""] //320x240の黒レイヤを生成
CGACT[ID=SRC_CG_MASK RECTPAINT=1 SET=0xffffff] //それを白で塗りつぶす

//回転画像用意
CG[ID=SRC_CG Z=01 E=0 FILE="cg/cg"] //任意の画像を指定してください
CGACT[ID=SRC_CG SIZE=1 SX=320 SY=240]

//回転後の画像を格納するレイヤを生成&パラメータセットしておく.
CG[ID=DEST_CG_MASK Z=01 E=0 FILE=""]
CG[ID=DEST_CG Z=20 E=1 MID=DEST_CG_MASK FILE=""] //外部マスク指定

//回転
LOOP[]
{
CGACT[ID=SRC_CG_MASK ID2=DEST_CG_MASK ROTATION=1 SET=@_LC] //マスク自体を回転
CGACT[ID=SRC_CG ID2=DEST_CG ROTATION=1 SET=@_LC] //画像を回転
WAIT[FRAME=1]
}
LOOPEND[]

//----------------------------------------------------------------------------

ただ、少し記述が面倒になってしまいますが…;

※1の部分のレイヤ生成で、今回は320x240のただの白い矩形を作っていますが、
普通に任意のマスク画像を読み込むようにすれば、
矩形だけでなくて自由な形のレイヤを回転させることが出来ます。

一応参考になりましたらと思います。

0991 返信ありがとうございます。
投稿者:マンボー 2007/07/22(日) 02:14

マスク画像を使ったやり方があるんですね。参考になりました、やってみます。

次回のバージョンアップも無理をなさらず頑張ってください。