| 1 |
package |
|---|
| 2 |
{ |
|---|
| 3 |
import flash.display.DisplayObject; |
|---|
| 4 |
import flash.display.Shape; |
|---|
| 5 |
import flash.display.Sprite; |
|---|
| 6 |
|
|---|
| 7 |
import org.libspark.thread.Thread; |
|---|
| 8 |
import org.libspark.thread.EnterFrameThreadExecutor; |
|---|
| 9 |
|
|---|
| 10 |
/** |
|---|
| 11 |
* このサンプルでは「ロールオーバーするとフェードしながら現れて、しばらくマウスを動かさずに放っておくか、 |
|---|
| 12 |
* ロールアウトするとフェードしながら消える、よくあるアレ」をスレッドを使って実現します。 |
|---|
| 13 |
*/ |
|---|
| 14 |
[SWF(width=300, height=300, frameRate=30, backgroundColor=0xffffff)] |
|---|
| 15 |
public class Sample extends Sprite |
|---|
| 16 |
{ |
|---|
| 17 |
public function Sample() |
|---|
| 18 |
{ |
|---|
| 19 |
// スレッドを実行するには、まずはじめに Thread#initialize をコールし、スレッドライブラリを初期化します |
|---|
| 20 |
// Thread#initialize には、IThreadExecutor のインスタンスを渡します |
|---|
| 21 |
// ここでは EnterFrameExecutor を渡し、毎フレームスレッドが実行されるようにします |
|---|
| 22 |
Thread.initialize(new EnterFrameThreadExecutor()); |
|---|
| 23 |
|
|---|
| 24 |
// ターゲットとなるシェイプを作ります |
|---|
| 25 |
var border:DisplayObject = createBorder(); |
|---|
| 26 |
var shape:Sprite = createShape(); |
|---|
| 27 |
shape.x = border.x = 100; |
|---|
| 28 |
shape.y = border.y = 105; |
|---|
| 29 |
|
|---|
| 30 |
// シェイプをコントロールするためのスレッドを起動します |
|---|
| 31 |
new AutoShowHideThread(shape).start(); |
|---|
| 32 |
} |
|---|
| 33 |
|
|---|
| 34 |
private function createShape():Sprite |
|---|
| 35 |
{ |
|---|
| 36 |
var sprite:Sprite = new Sprite(); |
|---|
| 37 |
|
|---|
| 38 |
sprite.graphics.beginFill(0x000000); |
|---|
| 39 |
sprite.graphics.drawRect(0, 0, 100, 100); |
|---|
| 40 |
sprite.graphics.endFill(); |
|---|
| 41 |
|
|---|
| 42 |
addChild(sprite); |
|---|
| 43 |
|
|---|
| 44 |
return sprite; |
|---|
| 45 |
} |
|---|
| 46 |
|
|---|
| 47 |
private function createBorder():DisplayObject |
|---|
| 48 |
{ |
|---|
| 49 |
var shape:Shape = new Shape(); |
|---|
| 50 |
|
|---|
| 51 |
shape.graphics.lineStyle(2, 0xcccccc); |
|---|
| 52 |
shape.graphics.drawRect(0, 0, 100, 100); |
|---|
| 53 |
|
|---|
| 54 |
addChild(shape); |
|---|
| 55 |
|
|---|
| 56 |
return shape; |
|---|
| 57 |
} |
|---|
| 58 |
} |
|---|
| 59 |
} |
|---|