Action Script 3.0 การใช้งาน Timer

ในการเขียน action script นั้นเป็นการกำหนดเหตุการณ์และควบคุมเหตุการณ์ที่เกิดขึ้นในโปรแกรม ดังนั้นสิ่งหนึ่งที่ขาดไม่ได้ก็น่าจะเป็น timer เพราะมันสามารถทำสร้างหรือคงบคุมการทำงานตามเวลาที่เรากำหนดได้ ซึ่งมีประโยชน์มาก

เรามาดูตัวอย่างการใช้ timer ใน action script กันเลย ขั้นแรกเราก็ทำการสร้างไฟล์ flash ตามรูปครับ

action script

จากนั้นไปในส่วน timeline เพื่อเปิด หน้าต่างเขียน actionขึ้นมาจากนั้นก็เขียนโค้ดตามนี้ครับ

action script

[sourcecode language=”as3″]

import flash.utils.Timer;

import flash.events.TimerEvent;

import flash.events.Event;

var timeLine:Timer = new Timer(500);

var mc:MovieClip = new MovieClip();

addChild(mc);

var linex:int = 10;

var liney:int = 10;

timeLine.addEventListener(TimerEvent.TIMER, drawLine);

timeLine.start();

function drawLine(e:Event)

{

trace(“drawline”);

mc.graphics.lineStyle(2, 0x990000, .75);

mc.graphics.moveTo(linex, liney);

linex = linex + 10;

liney = liney + 10;

mc.graphics.lineTo(linex,liney);

}

[/sourcecode]

action script

เมื่อกด ctrl + enter ก็ได้ผลลัพธ์ดังรูปโดยมันจะทำการวาดเส้นตรงตามค่า x, y เพิ่มขึ้นทุกๆ 500 ms ขั้นตอนในการทำงานของโค้ดเริ่มแรกเราต้องทำการ import package ที่เกี่ยวข้องกับ timer เข้ามาจากนั้นให้เราทำการสร้าง timer ขึ้นมา 1 ตัวโดยเรากำหนดเวลารอบโดยกำหนดไปใน constructor ตอนสร้าง object timer จากนั้นมีการสร้างตัวแปรแบบ movie clip ที่ชื่อว่า mc เพื่อทำการวาดรูปกราฟิกต่างๆ และมีการประกาศตัวแปรเพื่อเก็บตำแหน่ง x และ y จากนั้นเราก็ทำการ add movie clip mc ไปยัง stage โดยใช้คำสั่ง addChild จากนั้นเราก็ทำการใช้ event listener ให้กับ timer เพื่อให้ตัวแปร timeline จัดการเหตุการณ์ที่เกิดขึ้นโดยในการกำหนด addEventListener นั้นก็จะทำเมื่อ timer ครบทุกๆรอบนั้นคือครบทุกๆ 500 ms โดยจะให้ทำงานใน function drawLine โดยภายใน function นี้ก็จะมีการวาดเส้นตรงโดยให้ทำการ move ไปยังตำแหน่ง x และ y จากนั้นก็เพิ่มค่า x และ y แล้วทำการวาดเส้นตรงจากจุดที่มนอยู่ไปยังจุดใหม่ซึ่งเป็นจุดที่ค่า x และ y เพิ่มค่าไปแล้ว

 

Download Source

Leave a Reply

Your email address will not be published. Required fields are marked *