引越しだのプロジェクトの炎上だので結局今まで殆ど着手できてなかったのですが、やっと調査に入れました。
石の実装について
先ず、時計の石の部分の実装はどうするのか、 せっかくなのでBoxだののUIComponentで実装できないか調べてみた。
…が、適当にmxml書いてみてもどうも描画すらされない。やはりそもそもコンポーネントの利用目的が違うようなのでダメだった。コンテナはコンテナとしてしか使えないようだ。
Shapeクラスというのがあるらしく、調べてみるとShapeにあるgraphicsメンバに長方形やベジェ を書く機能があるではないか。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="writeComp()"> <mx:Script> <![CDATA[ import flash.display.Graphics; import flash.display.Shape; import flash.events.Event; import mx.controls.Alert; function writeComp() : void { var grap:Shape = new Shape; grap.graphics.beginFill(0xFF0000); grap.graphics.drawRect(45, 0, 10, 20); grap.graphics.drawRect(45, 80, 10, 20); grap.graphics.drawRect(0, 45, 20, 10); grap.graphics.drawRect(80, 45, 20, 10); this.rawChildren.addChild(grap); } ]]> </mx:Script> </mx:Application>
適当に書いたら、意図どおりに動いた。
グラデーションから色をピックすることもできる様なので、大体このgraphicsの実装でどうにかなりそう。
とりあえず表示はダサダサだけど、この辺は後で調整しよう…
これであとは
・タイマーでの更新
・ウィンドウの枠の解除
・半透明の実装
くらいかな?