2012-03-11 97 views
1

我想知道是否有一個代碼,可以使Flash識別是否已經訪問過某個幀。有沒有辦法去做到這一點?我正在考慮製作一個追蹤框架的功能,當玩家已經是一個人了。我希望該功能在被觀看一次後拒絕該幀的入口。訪問框架一次?

+0

怎麼樣讓一個整數數組:未訪問的框架,並從你的「訪問」事件中,你剛剛從數組中刪除該幀int和當你玩/更新幀你從數組僅使用幀數/整數? – 2012-03-11 10:10:13

回答

0

在幀代碼(我假設你在幀編碼):

var visited:Boolean; 

if (visited) return; 
visited = true; 

//... do frame actions 
+0

是的,謝謝,這在一定程度上有所幫助。我把這段代碼放在第一幀,它將布爾值識別爲true,但它將其視爲第一個視圖。 – 2012-03-11 17:40:21

1

Actionscript 3不關心框架。這只是閃光。

所以我會建議保留一個全球陣列的訪問幀&填充幀號碼。

0

如何禁用或刪除去回一個完整的框架的選項?即如果有後退/前進按鈕。只需轉到下一頁並禁用或刪除後退按鈕。不知道你想要完成什麼,很難給出好的建議。

0

嘗試類似這樣的東西。以幀爲單位設置與動畫片段相同長度的數組,全部初始化爲false。

var framesVisited:Array = []; 

// since we're talking about frame numbers here, start at 1 instead of 0 like 
// you normally might. 
for(var i:int = 1, ilen:int = this.totalFrames ; i <= ilen ; i++){ 
    framesVisited[i] = false; 
} 

現在,每次您訪問一個框架時,請確保將其相應的數組位置設置爲true。

framesVisited[this.currentFrame] = true; 

現在在你的函數中檢查一個幀是否被訪問過,只返回數組的值。

public function hasFrameBeenVisited(frameNumber:int):Boolean{ 
    return Boolean(framesVisited[frameNumber]); 
}