位置を抽象指定する
Posted 2013.01.19 in 流動指向ゲームエンジン『Fooo』
前回次のようなスクリプトを書いた。
method Main()
{
CreateImage(name="画像", image="画像.png", x=640, y=360
, ox=200, oy=300);
Enter(to="画像");
Zoom(to="画像", time=1000, sx=200%, sy=200%);
Rotate(to="画像", time=1000, angle=45);
}
このスクリプトを見て…
画面の中心位置や画像の中心位置を指定するのに、
いちいち画面サイズや画像サイズを調べて、
中心位置が何ピクセルだとか計算しなくちゃいけないなんてちょっと面倒だな…
とは思わなかっただろうか。
実際面倒だ。
実はもっと簡単に記述する方法がある。
比率で指定する
x, y, ox, oyパラメータにはピクセル数による具体的な指定だけでなく、
『比率』による抽象的な指定をすることもできる。
比率で指定する場合は、数字の後に%記号をつける。
method Main()
{
CreateImage(name="画像", image="画像.png", x=50%, y=50%
, ox=50%, oy=50%);
Enter(to="画像");
Zoom(to="画像", time=1000, sx=200%, sy=200%);
Rotate(to="画像", time=1000, angle=45);
}
非常に明快だ。
抽象名で指定する
x, y, ox, oyパラメータには『抽象名』を指定することもできる。
抽象名はデーカーの特定の状態を表す抽象的な名前だ。
抽象名を使うことで、値を簡単に指定できるだけでなく
その指定が何を意図しているのかより明確になる。
method Main()
{
CreateImage(name="画像", image="画像.png", x="Center", y="Middle"
, ox="Center", oy="Middle");
Enter(to="画像");
Zoom(to="画像", time=1000, sx=200%, sy=200%);
Rotate(to="画像", time=1000, angle=45);
}
“Center”, “Middle”と書いているのが抽象名だ。
xには”OutLeft”=左外側, “Center”=中央, “OutRight”=右外側
yには”OutTop”=上外側, “Middle”=中央, “OutBottom”=下外側
oxには”Left”=左, “Center”=中央, “Right”=右
oyには”Top”=上, “Middle”=中央, “Bottom”=下
などがそれぞれ指定可能である。