Window オブジェクトは、部品を配置するために必ず1つは生成しなければなりません。
YKayoのメインウインドウ#
<?xml version="1.0" encoding="utf-8"?>
<widget version="1.0" minimumVersion="3.1" author="Kei's Media Image Lab.">
<window title="YKayo">
<name>mainWindow</name>
<width>481</width>
<height>481</height>
<visible>1</visible>
<!-- いす-->
<image src="Resources/a1/a1_001.png">
<name>layerA</name>
<opacity>255</opacity>
<zOrder>1</zOrder>
</image>
</window>
</widget>
この例では、MainWindowというウインドウを生成し、Imageを1つ表示しています。
WindowとImageには、それぞれ<name>というプロパティ(属性)があり、JavaScriptから何か操作するときにはこのnameがないといけません。
実際は人物や人物の目、その他もっとたくさんのImageを重ねているのですが、これはJavaScript側で行っています。
ウインドウを複数使うWidget#
<?xml version="1.0" encoding="utf-8"?>
<widget version="1.0" minimumVersion="3.1" author="Kei's Media Image Lab.">
<window title="YKayo">
<name>mainWindow</name>
<width>481</width>
<height>481</height>
<image src="Resources/a1/a1_001.png" name="layerA" />
</window>
<window title="console">
<name>consoleWindow</name>
<image src="Resources/f1/f1_001.png" name="layerF" />
</image>
</window>
</widget>
ウインドウを複数使うと、部品を別々の場所に配置することができ、ウインドウごとに透明度などの表示属性を変えることができます。
たとえば入力ウインドウを開く、結果ウインドウを出すなどの応用が考えられます。
YKayoの場合は
- MainWindow - 人物と椅子
- ConsoleWindow - コンソール(Kayoがいじっている画面)
- MenuWindow - メニュー(Kayoを呼んだときに展開されるメニュー)
- StickyWindow - 付箋(付箋にカモフラージュするときの画面)
以上のウインドウを使っていますが、「コンソール」と「メニュー」については、MainWindowにImageをどんどん重ねても実現できなくもありません。
でも、MainWindowのイメージを増やしすぎると、Kayoが姿勢を変えたときなどの表示速度が実用にならないため、それぞれ別のWindowにしています。
一つ目のデメリットは子のWindowをドラッグで移動させられてしまうことがあることで、これは子WindowのonMouseDownに何か命令を仕掛けて抑止する必要があります。
二つ目のデメリットは、Window同士の重ね順が入れ替わってしまうことがあることで、これは適宜WindowのFocus命令で重ねなおさないといけません。
Add new attachment
Only authorized users are allowed to upload new attachments.
«
This page (revision-1) was last changed on 28-Nov-2007 23:43 by UnknownAuthor