操作AS3 0中的timmer 物件

2021-06-16 08:19:47 字數 1527 閱讀 5485

在這裡我只想談一下時間間隔函式的變化,在as2中有兩個時間間隔函式,我們最常用的可能就是setinterval(),另外還有是settimeout();但在as3中,多了乙個timer類,也是用來進行間隔時間呼叫函式的。與前兩者不同的是,這個函式有一些屬性和方法,可以控制呼叫過程。

具體的講,有四個屬性和三個方法,四個屬性中,有兩個唯讀屬性和兩個讀寫屬性。

兩個唯讀屬性中runing為是否為呼叫過程中,值為布林代數,currentcount為當前呼叫的次數,注意這裡是當前,這說明可以改變呼叫次數,接下來讀寫屬性repeatcount就是用來改變重複呼叫次數的。同樣,另乙個讀寫讀寫屬性delay則可以改變重複呼叫時的間隔時間。

哇!timer的功能竟是如此的強大,難以想象啊!

三個方法,乙個啟動呼叫:start(),乙個停止呼叫:stop();乙個重置呼叫:reset();

下面,我利用乙個小動畫來介紹一下,timer類的使用方法:

使用時間軸動畫,實現這種效果要非常的簡單,也許只需要乙個stop(),但是,我記得有這樣一句話,「你要像程式設計師那樣思考!」,我的理解就是,盡量用程式來實現自己目的,而擺脫對時間軸的依賴。

整個**如下:

var mytimer:timer = new timer(1300,7);

//建立乙個timer物件,兩個引數為間隔時間和迴圈次數

var i:int = 0;

//建立乙個整數變數作為陣列的索引

var mydong = new dong();

var snd = new tong();

//乙個音效,一段童聲,主要是為程式增加點趣味

mymc2.alpha = 0;

var myarray:array = new array("鄉野村姑","太行叩月","草塘寒鶴","風雨兗礦","踏雪尋梅","你們好嗎?","想死你們了!");

//隨便建立乙個陣列,當然也可以使用其他方法,比如倒計時和計數器

mytimer.addeventlistener(timerevent.timer,time);

mytimer.addeventlistener(timerevent.timer_complete,timend);

//新增兩個監聽事件,乙個是過程,乙個是呼叫結束

mymc2.addeventlistener(mouseevent.click,rest);

mytimer.start();

//timer類最特別的地方,你需要告訴他立即開始

function time(event:timerevent):void

//上面呼叫過程的監聽函式

function timend(event:timerevent):void

//上面是呼叫過程結束的監聽函式

function onplaybackcomplete(event:event)

function onenterframe(event:event):void

//**完畢後的監聽函式

function rest(event:mouseevent):void }

AS3 0物件複製

一 拷貝的分類 有兩種,一種是淺拷貝,還有就是深拷貝。淺拷貝拷貝只是引用,會影響被拷貝的資料。例如陣列的 slice方法返回的是乙個陣列的淺拷貝,通過改變陣列中的東西會改變原被拷貝資料。深拷貝複製的源物件的二進位制資料,所以不會影響到原資料的屬性和方法。物件轉殖可以複製出乙個和已存在物件相同的物件,...

AS3 0中的區塊設計

這篇文章主要是講解如何基於as3來製作乙個區塊遊戲,但仍然保持oop的結構。這篇文章的 能夠被諸如flexbuilder,flashdevilop這裡的編譯器解釋,當然flash ide也可以,但是要在主場景上指明main類。該應用程式需要乙個xml檔案儲存地圖資料,它將會被轉換為實際地圖顯示在螢幕...

AS3 0中獲取物件的類

object有乙個constructor的動態屬性可以返回物件的類,例如 1 package213 14 但是有幾點要注意 proxy類會在呼叫constructor屬性時丟擲異常 error error 2088 proxy 類不實現 getproperty。它必須由乙個子類覆蓋。at error...