2013-02-28 43 views
0

我已經構建了一個簡單的Flash遊戲,只需要用戶根據他們從多項選擇題中選擇的答案,將鼠標光標從一個開始位置導航到四個結束位置之一。如何使用ActionScript 3將變量發送到Flash中的其他框架?

我想在遊戲中加入一種評分方法。這是我的代碼到目前爲止,評分系統不工作,當用戶擊中牆壁或得到答案錯誤時,他們被引導到另一個框架,向他們展示一個「不正確」的屏幕,並允許他們點擊一個按鈕,它說重試。重試按鈕將它們帶回主框架,最終將分數重置爲0.如果可能,我會如何將變量傳遞給其他框架?

import flash.events.Event; 
import flash.net.*; 

var isStart = false; 
var score:Number = 0; 

mc_wall.addEventListener(MouseEvent.MOUSE_OVER,overWall); 
function overWall(e:Event) { 
if (isStart == true){ 
gotoAndStop(5); 
score -= -2; 
} 
} 

mc_start.addEventListener(MouseEvent.MOUSE_OVER,overStart); 
function overStart(e:Event) { 
isStart = true; 
} 

mc_blue.addEventListener(MouseEvent.MOUSE_OVER,overBlue); 
function overBlue(e:Event) { 
if (isStart == true){ 
gotoAndStop(4); 
score += 10; 
isStart = false; 
} 
} 

mc_red.addEventListener(MouseEvent.MOUSE_OVER,overRed); 
function overRed(e:Event) { 
if (isStart == true){ 
gotoAndStop(6); 
score -= -2; 
isStart = false; 
} 
} 

mc_green.addEventListener(MouseEvent.MOUSE_OVER,overGreen); 
function overGreen(e:Event) { 
if (isStart == true){ 
gotoAndStop(6); 
score -= -2; 
isStart = false; 
} 
} 

mc_yellow.addEventListener(MouseEvent.MOUSE_OVER,overYellow); 
function overYellow(e:Event) { 
if (isStart == true){ 
gotoAndStop(6); 
score -= -2; 
isStart = false; 
} 
} 

任何幫助,將不勝感激

回答

1

當創建Flash遊戲,在我看來,這是更好地利用外部類。

一個修復方法是在主代碼之前添加一個框架,並在該框架中將您的評分變量設置爲零。這樣,分數只設置爲零,當返回到主框架時,分數將保持相同。 (你可能希望在減去分數時添加一條if語句,減去你想要的負分數)

更好的方法是使用外部類並將主代碼保存在Main類中。這個類將有一個構造函數,並且只將初始分數初始化爲零。

-Travis

+0

謝謝你的迴應,我決定做你的建議,並在我的主框架之前在框架中聲明分數變量。大家現在工作得很好,再次感謝! – user2065502 2013-02-28 20:54:47

相關問題