TimeBar改修
AS3.0にも、ようやく慣れてきました。
クラスベースでなにかコンテンツ作りたいなーと思ったので、以前作ったブログパーツ、TimeBarを作りなおしてみました。
今回は、TweenerとTeraClockの2つのライブラリを使用しています。
さて、クラス化+ライブラリ使用ということで、前回のコードとはかなり毛色の違うものになっています。
注意して作ったのは以下の部分
- 継承しているクラスの宣言
- コンストラクタってなに?
- バーの描画
- Tweenerの利用
「全部じゃん」と突っ込みが入りそうですが、今回は初めてのクラスベースだったので、いろいろと気を使いました。
今回のコードはこの後。
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | package { import flash.events.Event; import flash.display.*; import trick7.utils.TeraClock; import caurina.transitions.Tweener; import caurina.transitions.properties.ColorShortcuts; public class timebar extends Sprite { public var clock:TeraClock; public var container:Sprite = new Sprite(); public var time0:Sprite=new Sprite(); public var time1:Sprite=new Sprite(); public var time2:Sprite=new Sprite(); public var time3:Sprite=new Sprite(); public var time4:Sprite=new Sprite(); public var time5:Sprite=new Sprite(); public function timebar () { clock = new TeraClock(); clock.addEventListener (TeraClock.SECONDS_CHANGED, secondsListener); for (var i:int = 0; i < 6; i++) { switch (i) { case 0 : case 1 : this["time" + i].graphics.beginFill (0xFF0000); break; case 2 : case 3 : this["time" + i].graphics.beginFill (0x00FF00); break; case 4 : case 5 : this["time" + i].graphics.beginFill (0x0000FF); break; } this["time" + i].graphics.drawRect (0,0,1,20); this["time" + i].graphics.endFill (); this["time" + i].x = 12; addChild (this["time" + i]); } time0.y=115.5; time1.y=136.5; time2.y=168.5; time3.y=189.7; time4.y=221.5; time5.y=242.5; } private function secondsListener (e:Event) { var h1:int = Math.floor (clock.hours / 10);//一桁目の取得 var h2:int = clock.hours % 10;//二桁目の取得 var m1:int = Math.floor (clock.minutes / 10);//一桁目の取得 var m2:int = clock.minutes % 10;//二桁目の取得 var s1:int = Math.floor (clock.seconds / 10);//一桁目の取得 var s2:int = clock.seconds % 10;//二桁目の取得 Tweener.addTween (time0, {width:h1*20,time:1,transition:"liner"}); Tweener.addTween (time1, {width:h2*20,time:1,transition:"liner"}); Tweener.addTween (time2, {width:m1*20,time:1,transition:"liner"}); Tweener.addTween (time3, {width:m2*20,time:1,transition:"liner"}); Tweener.addTween (time4, {width:s1*20,time:1,transition:"liner"}); Tweener.addTween (time5, {width:s2*20,time:1,transition:"liner"}); } } } |