なので、書いてみました。ENTER_FRAME Eventを使っています。
このEventは枚フレーズ毎に来きます(FPSで15を設定した場合、一秒間に15回ということ)。
import flash.geom.Rectangle; var txtHello:TextField = new TextField(); txtHello.text = "Hello"; txtHello.width = 400; txtHello.height = 100; var format:TextFormat=new TextFormat(); format.size = 40; format.color = 0x000000; txtHello.setTextFormat(format); addChild(txtHello); var btnGoUpDown:Sprite = new Sprite(); btnGoUpDown.graphics.beginFill(0xFFCC00); btnGoUpDown.graphics.drawRect(200, 200, 100, 50); btnGoUpDown.graphics.endFill(); this.addChild(btnGoUpDown); btnGoUpDown.addEventListener(MouseEvent.CLICK, btnGoUpDown_Click); var blUpDown = false;//true: going down, false: going up function btnGoUpDown_Click(e:MouseEvent) { blUpDown = ! blUpDown; txtHello.addEventListener(Event.ENTER_FRAME, fl_AnimateVertically); } function fl_AnimateVertically(event:Event) { if (blUpDown) { txtHello.y += 10; } else { txtHello.y -= 10; } if (txtHello.y == 0) { txtHello.removeEventListener(Event.ENTER_FRAME, fl_AnimateVertically); } else if (txtHello.y == 300) { txtHello.removeEventListener(Event.ENTER_FRAME, fl_AnimateVertically); } } |
0 件のコメント:
コメントを投稿