SlideShare a Scribd company logo
1 of 3
Download to read offline
Sử dụng Timer, TimerEvent và getTimer() trong ActionScipt3.
Class Timer, sự kiện TimerEvent thuộc kiểu TimerEvent và hàm getTimer() là những thành
phần rất quan trọng và thường xuyên được sử dụng trong AS3 (áp dụng hầu hết các ứng dụng)
nên mọi người cần nắm bắt kỹ.
Timer kết hợp với TimerEvent – thương được sử dụng với những ứng dụng hoặc trò chơi
yêu cầu sự chính xác về thời gian, một ví dụ cụ thể là trong trò chơi bắn bọ, mọi người có thể
sử dụng Timer để căn thời gian tạo ra các con bọ.
Cách sử dụng
Lấy ví dụ là trò chơi bắn bọ, mọi người muốn tạo ra các con bọ mới trong khoảng thời
gian là 1 giây / 1 con => cứ một giây chúng ta lại gọi hàm để tạo con bọ một lần, ví dụ sau đây
sẽ mô tả cách làm tổng quát.
1. Tạo một instance của class Timer
var timer:Timer = new Timer(1000,10);
// Class timer có hai tham số truyền vào, tham số thứ nhất là thời gian gọi hàm (tính
theo mili giây, một mili giây = 1/1000 giây). Tham số thứ 2 là số lần gọi hàm, nếu mọi
người để giá trị = 0 (đây là giá trị mặc định) thì hàm sẽ được gọi không giới hạn .
 Cứ một giây chúng ta lại gọi hàm để tạo ra một con bọ và tổng số con bọ được
tạo ra sẽ là 10 con.
2. Bắt sự kiện TimerEvent để gọi hàm – Nếu không được bắt sự kiện thì class Timer
sẽ không có tác dụng j hết ^_^.
Giả sử như chúng hàm để tạo con bọ của chúng ta là createNewBug(), vậy chúng ta sẽ
bắt sự kiện như sau.
timer.addEventListener(TimerEvent.TIMER, createNewBug);
 Cứ 1 giây chúng ta lại gọi hàm createNewBug một lần và số lần gọi tương ứng
với giá trị của tham số thứ 2 truyên vào khi tạo instance của class Timer.(ở đây
là 10 lần).
Lưu ý : class Timer có hai kiểu sự kiện chính cần quan tâm đó là TimerEvent.TIMER
và TimerEvent.TIMER_COMPLETE.
o TimerEvent.TIMER : gọi sự kiện theo thời gian delay(giá trị truyền vào tại
tham số thứ nhất)
o TimerEvent.TIMER_COMPLETE: gọi sự kiện khi số lần gọi theo thời gian
delay đã hết. Ví dụ như ở trên thời gian delay của chúng ta là 1000 milli
giây (tức 1 giây) và số lân gọi là 10 => sau 10 giây thí sự kiện
TimerEvent.TIMER_COMPLETE sẽ xuất hiên (nếu không giới hạn số lần
gọi thì sự kiện này sẽ không xảy ra).
3. Cho thời gian chạy – gọi hàm start()
timer.start();
Lưu ý nếu không gọi hàm start() thì thời gian sẽ không chạy hay nói cách khác là
Timer vẫn chưa được sử dụng. Có thể ngăn thời gian chạy bằng cách gọi hàm
stop().
Đối tượng Timer có 3 hàm chính cần lưu ý là start()=>chạy thời gian, stop()=> ngừng
chạy thời gian() và reset() => reset thời gian và chạy lại từ đầu. Như ví dụ trên nếu
như khi tạo được 5 con bọ bạn sử dụng hàm stop() thì việc tạo con bọ sẽ ngưng lại
và khi bạn tiếp tục gọi hàm start() thì thời gian sẽ tiếp tục chạy và 5 con bọ còn lại sẽ
được tạo nốt. Tuy nhiên nếu bạn dùng hàm reset() thì các con bọ sẽ được tạo lại từ
đầu và thay vì tạo 5 con còn lại, nó sẽ tính lại từ đầu là 10 con ^_^..
4. Viết hàm để tạo con bọ (đây là bài tập các bạn đã làm nên mình chỉ viết code mình
họa^_^).
function createNewBug(e:TimerEvent):void
{
//các mã lệnh để tạo mới một con bọ
}
Tại function trên:
- createNewBug là tên hàm tương ứng với hàm bạn gọi khi bắt sự
kiện
- tham số truyền vào e:TimerEvent => TimerEvent là kiểu sự kiện
sử dụng. Để dễ hiểu các bạn nhớ rằng khi các bạn bắt các sự
kiện như Event, MouseEvent ,TimerEvent …. Thì tham số bên
trong hàm cũng sử dụng kiểu tương ứng như thế ^_^.
Đầy đủ các mã lệnh của chúng ta sẽ là
var timer:Timer = new Timer(1000,10);
timer.addEventListener(TimerEvent.TIMER, createNewBug);
timer.start();
function createNewBug(e:TimerEvent):void
{
//Các mã lệnh để tạo con bọ
trace(“Welcome BABY BUG !!!”);
}
Đối với các bạn đã nghỉ một số buổi và chưa hiểu hết vấn đề có thể viết các đoạn mã
lệnh trên vào timeline trong Flash và sử dụng các hàm trace() xem kết quả (ai chưa hiểu
liên hệ với mình ngay trong buổi tới để nắm rõ vì giai đoạn sau là nước rút rồi T_T)
Sử dụng getTimer():
getTimer() là một function đặc biệt dùng để tính thời gian từ lúc bắt đầu chạy chương
trình flash player(của chúng ta là từ lúc bật file SWF). Hàm này sẽ trả về một giá trị milli giây
tương ứng với thời gian chạy chương trình.
getTimer() rất rất quan trọng và được sử dụng tùy theo mục đích của mỗi người (cụ thể
nhất là làm đồng hồ tính thời gian trong một trò chơi, làm các chuyển động yêu cầu tính chính
xác cao…)
Cách sử dụng : chỉ có một – import và sử dụng ^_^. (ai chưa hiểu về import buổi tới
cũng liên hệ với mình ngay Y_Y).
Mọi người hãy viết mã lệnh sau trực tiếp trên timeline :
import flash.utils.getTimer;
addEventListener(Event.ENTER_FRAME, checkTime);
function checkTime(e:Event):void
{
trace(getTimer()); //thời gian chạy chương trình sẽ được hiển thị theo millisecond
}
OK: Bài tập cho phần này là hãy làm một đồng hồ điện tử hiển thị số thời gian chạy
chương trình.

More Related Content

Viewers also liked

Lession 13: Dynamic data access
Lession 13: Dynamic data accessLession 13: Dynamic data access
Lession 13: Dynamic data access
Hallo Patidu
 
Workshop: Typing game
Workshop: Typing gameWorkshop: Typing game
Workshop: Typing game
Hallo Patidu
 
Lesson 18: Tween Effect
Lesson 18: Tween EffectLesson 18: Tween Effect
Lesson 18: Tween Effect
Hallo Patidu
 
Irish Fund Structures For International Distribution Nov09
Irish Fund Structures For International Distribution Nov09Irish Fund Structures For International Distribution Nov09
Irish Fund Structures For International Distribution Nov09
Omer_Khan
 
Lesson12 - text field
Lesson12  - text fieldLesson12  - text field
Lesson12 - text field
Hallo Patidu
 
Regulated Funds In Ireland Ucits Non Ucits
Regulated Funds In Ireland Ucits Non UcitsRegulated Funds In Ireland Ucits Non Ucits
Regulated Funds In Ireland Ucits Non Ucits
Omer_Khan
 
Lesson 22: Flash communicate
Lesson 22: Flash communicateLesson 22: Flash communicate
Lesson 22: Flash communicate
Hallo Patidu
 
Workshop game hứng bia
Workshop   game hứng biaWorkshop   game hứng bia
Workshop game hứng bia
Hallo Patidu
 
The Immune System, Anticancer Mechanism , Enzyme
The Immune System, Anticancer Mechanism , EnzymeThe Immune System, Anticancer Mechanism , Enzyme
The Immune System, Anticancer Mechanism , Enzyme
Zachary Guterman
 

Viewers also liked (14)

Lession 13: Dynamic data access
Lession 13: Dynamic data accessLession 13: Dynamic data access
Lession 13: Dynamic data access
 
Workshop: Typing game
Workshop: Typing gameWorkshop: Typing game
Workshop: Typing game
 
UCITS - Why Ireland Doc
UCITS - Why Ireland DocUCITS - Why Ireland Doc
UCITS - Why Ireland Doc
 
Lesson 18: Tween Effect
Lesson 18: Tween EffectLesson 18: Tween Effect
Lesson 18: Tween Effect
 
Irish Fund Structures For International Distribution Nov09
Irish Fund Structures For International Distribution Nov09Irish Fund Structures For International Distribution Nov09
Irish Fund Structures For International Distribution Nov09
 
International Funds Ireland
International Funds IrelandInternational Funds Ireland
International Funds Ireland
 
Sbs Fermentation Science
Sbs Fermentation ScienceSbs Fermentation Science
Sbs Fermentation Science
 
Lesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifierLesson 06 : OOP and Access modifier
Lesson 06 : OOP and Access modifier
 
Lesson12 - text field
Lesson12  - text fieldLesson12  - text field
Lesson12 - text field
 
Regulated Funds In Ireland Ucits Non Ucits
Regulated Funds In Ireland Ucits Non UcitsRegulated Funds In Ireland Ucits Non Ucits
Regulated Funds In Ireland Ucits Non Ucits
 
Lesson 22: Flash communicate
Lesson 22: Flash communicateLesson 22: Flash communicate
Lesson 22: Flash communicate
 
Workshop game hứng bia
Workshop   game hứng biaWorkshop   game hứng bia
Workshop game hứng bia
 
Lesson 20 : Sound
Lesson 20 : SoundLesson 20 : Sound
Lesson 20 : Sound
 
The Immune System, Anticancer Mechanism , Enzyme
The Immune System, Anticancer Mechanism , EnzymeThe Immune System, Anticancer Mechanism , Enzyme
The Immune System, Anticancer Mechanism , Enzyme
 

More from Hallo Patidu

Homework: Math In Flash
Homework: Math In FlashHomework: Math In Flash
Homework: Math In Flash
Hallo Patidu
 
Lession 14,15 : Math in flash
Lession 14,15 : Math in flashLession 14,15 : Math in flash
Lession 14,15 : Math in flash
Hallo Patidu
 
Lesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms OverviewLesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms Overview
Hallo Patidu
 
Giới thiệu khóa học Flash On Focus
Giới thiệu khóa học Flash On FocusGiới thiệu khóa học Flash On Focus
Giới thiệu khóa học Flash On Focus
Hallo Patidu
 
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và họcCông nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
Hallo Patidu
 

More from Hallo Patidu (16)

Lesson 21: Video
Lesson 21: VideoLesson 21: Video
Lesson 21: Video
 
Homework: Math In Flash
Homework: Math In FlashHomework: Math In Flash
Homework: Math In Flash
 
Lession 14,15 : Math in flash
Lession 14,15 : Math in flashLession 14,15 : Math in flash
Lession 14,15 : Math in flash
 
Lesson 08 : AS3 Display Programming
Lesson 08 : AS3 Display ProgrammingLesson 08 : AS3 Display Programming
Lesson 08 : AS3 Display Programming
 
Lesson 07 : Your First Game
Lesson 07 : Your First GameLesson 07 : Your First Game
Lesson 07 : Your First Game
 
Lesson 05: Document Class, Events and FlashDevelop Tool
Lesson 05: Document Class, Events and  FlashDevelop ToolLesson 05: Document Class, Events and  FlashDevelop Tool
Lesson 05: Document Class, Events and FlashDevelop Tool
 
Lesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms OverviewLesson 01 : Flash Platforms Overview
Lesson 01 : Flash Platforms Overview
 
Lesson 03 : Timeline in Flash World
Lesson 03 : Timeline in Flash WorldLesson 03 : Timeline in Flash World
Lesson 03 : Timeline in Flash World
 
Lesson 02 : Flash Authoring Environment
Lesson 02 : Flash Authoring EnvironmentLesson 02 : Flash Authoring Environment
Lesson 02 : Flash Authoring Environment
 
Pre: FOF Learning Guide
Pre: FOF Learning GuidePre: FOF Learning Guide
Pre: FOF Learning Guide
 
Lesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 OverviewLesson 04 : Actionscript 3 Overview
Lesson 04 : Actionscript 3 Overview
 
Flixel tutorial
Flixel tutorialFlixel tutorial
Flixel tutorial
 
Giới thiệu khóa học Flash On Focus
Giới thiệu khóa học Flash On FocusGiới thiệu khóa học Flash On Focus
Giới thiệu khóa học Flash On Focus
 
FOF - More than basic knowledges
FOF - More than basic knowledgesFOF - More than basic knowledges
FOF - More than basic knowledges
 
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và họcCông nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
Công nghệ Flash - Công cụ hỗ trợ các phương pháp dạy và học
 
Game Flash trên facebook
Game Flash trên facebookGame Flash trên facebook
Game Flash trên facebook
 

Lession : Sử dụng timer va get timer

  • 1. Sử dụng Timer, TimerEvent và getTimer() trong ActionScipt3. Class Timer, sự kiện TimerEvent thuộc kiểu TimerEvent và hàm getTimer() là những thành phần rất quan trọng và thường xuyên được sử dụng trong AS3 (áp dụng hầu hết các ứng dụng) nên mọi người cần nắm bắt kỹ. Timer kết hợp với TimerEvent – thương được sử dụng với những ứng dụng hoặc trò chơi yêu cầu sự chính xác về thời gian, một ví dụ cụ thể là trong trò chơi bắn bọ, mọi người có thể sử dụng Timer để căn thời gian tạo ra các con bọ. Cách sử dụng Lấy ví dụ là trò chơi bắn bọ, mọi người muốn tạo ra các con bọ mới trong khoảng thời gian là 1 giây / 1 con => cứ một giây chúng ta lại gọi hàm để tạo con bọ một lần, ví dụ sau đây sẽ mô tả cách làm tổng quát. 1. Tạo một instance của class Timer var timer:Timer = new Timer(1000,10); // Class timer có hai tham số truyền vào, tham số thứ nhất là thời gian gọi hàm (tính theo mili giây, một mili giây = 1/1000 giây). Tham số thứ 2 là số lần gọi hàm, nếu mọi người để giá trị = 0 (đây là giá trị mặc định) thì hàm sẽ được gọi không giới hạn .  Cứ một giây chúng ta lại gọi hàm để tạo ra một con bọ và tổng số con bọ được tạo ra sẽ là 10 con. 2. Bắt sự kiện TimerEvent để gọi hàm – Nếu không được bắt sự kiện thì class Timer sẽ không có tác dụng j hết ^_^. Giả sử như chúng hàm để tạo con bọ của chúng ta là createNewBug(), vậy chúng ta sẽ bắt sự kiện như sau. timer.addEventListener(TimerEvent.TIMER, createNewBug);  Cứ 1 giây chúng ta lại gọi hàm createNewBug một lần và số lần gọi tương ứng với giá trị của tham số thứ 2 truyên vào khi tạo instance của class Timer.(ở đây là 10 lần). Lưu ý : class Timer có hai kiểu sự kiện chính cần quan tâm đó là TimerEvent.TIMER và TimerEvent.TIMER_COMPLETE. o TimerEvent.TIMER : gọi sự kiện theo thời gian delay(giá trị truyền vào tại tham số thứ nhất) o TimerEvent.TIMER_COMPLETE: gọi sự kiện khi số lần gọi theo thời gian delay đã hết. Ví dụ như ở trên thời gian delay của chúng ta là 1000 milli giây (tức 1 giây) và số lân gọi là 10 => sau 10 giây thí sự kiện TimerEvent.TIMER_COMPLETE sẽ xuất hiên (nếu không giới hạn số lần gọi thì sự kiện này sẽ không xảy ra).
  • 2. 3. Cho thời gian chạy – gọi hàm start() timer.start(); Lưu ý nếu không gọi hàm start() thì thời gian sẽ không chạy hay nói cách khác là Timer vẫn chưa được sử dụng. Có thể ngăn thời gian chạy bằng cách gọi hàm stop(). Đối tượng Timer có 3 hàm chính cần lưu ý là start()=>chạy thời gian, stop()=> ngừng chạy thời gian() và reset() => reset thời gian và chạy lại từ đầu. Như ví dụ trên nếu như khi tạo được 5 con bọ bạn sử dụng hàm stop() thì việc tạo con bọ sẽ ngưng lại và khi bạn tiếp tục gọi hàm start() thì thời gian sẽ tiếp tục chạy và 5 con bọ còn lại sẽ được tạo nốt. Tuy nhiên nếu bạn dùng hàm reset() thì các con bọ sẽ được tạo lại từ đầu và thay vì tạo 5 con còn lại, nó sẽ tính lại từ đầu là 10 con ^_^.. 4. Viết hàm để tạo con bọ (đây là bài tập các bạn đã làm nên mình chỉ viết code mình họa^_^). function createNewBug(e:TimerEvent):void { //các mã lệnh để tạo mới một con bọ } Tại function trên: - createNewBug là tên hàm tương ứng với hàm bạn gọi khi bắt sự kiện - tham số truyền vào e:TimerEvent => TimerEvent là kiểu sự kiện sử dụng. Để dễ hiểu các bạn nhớ rằng khi các bạn bắt các sự kiện như Event, MouseEvent ,TimerEvent …. Thì tham số bên trong hàm cũng sử dụng kiểu tương ứng như thế ^_^. Đầy đủ các mã lệnh của chúng ta sẽ là var timer:Timer = new Timer(1000,10); timer.addEventListener(TimerEvent.TIMER, createNewBug); timer.start(); function createNewBug(e:TimerEvent):void { //Các mã lệnh để tạo con bọ trace(“Welcome BABY BUG !!!”); }
  • 3. Đối với các bạn đã nghỉ một số buổi và chưa hiểu hết vấn đề có thể viết các đoạn mã lệnh trên vào timeline trong Flash và sử dụng các hàm trace() xem kết quả (ai chưa hiểu liên hệ với mình ngay trong buổi tới để nắm rõ vì giai đoạn sau là nước rút rồi T_T) Sử dụng getTimer(): getTimer() là một function đặc biệt dùng để tính thời gian từ lúc bắt đầu chạy chương trình flash player(của chúng ta là từ lúc bật file SWF). Hàm này sẽ trả về một giá trị milli giây tương ứng với thời gian chạy chương trình. getTimer() rất rất quan trọng và được sử dụng tùy theo mục đích của mỗi người (cụ thể nhất là làm đồng hồ tính thời gian trong một trò chơi, làm các chuyển động yêu cầu tính chính xác cao…) Cách sử dụng : chỉ có một – import và sử dụng ^_^. (ai chưa hiểu về import buổi tới cũng liên hệ với mình ngay Y_Y). Mọi người hãy viết mã lệnh sau trực tiếp trên timeline : import flash.utils.getTimer; addEventListener(Event.ENTER_FRAME, checkTime); function checkTime(e:Event):void { trace(getTimer()); //thời gian chạy chương trình sẽ được hiển thị theo millisecond } OK: Bài tập cho phần này là hãy làm một đồng hồ điện tử hiển thị số thời gian chạy chương trình.