2014-06-08 40 views
-1

我試圖構建一個簡單的遊戲,您將在其中查看包含5個可單擊對象的地圖。如何在flash中製作進度條(levelup bar)cs6

當您點擊這些對象時,您可以瀏覽某些頁面,並在點擊最後一個按鈕時返回到地圖本身。現在一切都按照應有的方式工作。點擊這個特定的最後一個按鈕它具有以下代碼。

jamenext2.addEventListener(MouseEvent.MOUSE_DOWN, gotomap2); 
function gotomap2(event:MouseEvent):void { 
    gotoAndPlay("map2"); 

} 

我想什麼,現在有是對地圖本身就是一個酒吧,而當你已經達到了貼有上面的代碼中,20%在酒吧的增量,因此相同的按鈕地圖上的其他4個可點擊的按鈕。完成100%後,我希望在時間線上繼續播放下一個動畫。

我已經嘗試了以下方法,但是在編寫代碼時我並不擅長,而且我不太確定它的準確位置。

var total1 = 100; 
_root.loaded1 = 0; 

while(true) { 
this.scaleX = _root.loaded1/total1; 
} 
_root.loaded1 = _root.loaded1 + 20; 
    gotoAndPlay("map2"); 

我不知道如何做到這一點。

回答

0

你想要做的是爲進度條創建一個正方形或位圖類。從那裏,爲按鈕創建一個帶有MouseEvent.MOUSE_DOWN的正方形。

有這樣做的不同方法。根據您的示例代碼,您可以使用場景的時間線,以便您可以在其中放置一個按鈕以在每個場景中縮放。

您可以將其大小設置爲百分之二十,並使其完全透明並在第一次點擊時變爲可行。然後增加百分之二十,直到百分之百可見。然後你可以有另一個可以回滾頁面的按鈕。

晴僞代碼,但這樣的事情:

(示例參考鏈接:http://www.actionscript.org/resources/articles/792/1/Drawing-Shapes-with-AS3/Page1.html

import flash.display.Shape; 

private var square:Shape; 
main_method 
{ 
square = new Shape(); 

//draw shape 
square.graphics.beginFill(0x1111FF, 1); 
    square.graphics.drawRect(30, 30, 200, 200); 
    square.graphics.endFill(); 
    square.alpha = .5; 
    addChild(square); 
} 
//somewhere in a MouseEvent.MOUSE_DOWN class 
{ 
    gotoAndPlay("map1"); 
} 
} 

也有可能,而不是在代碼中創建一個廣場,在舞臺上創建一個symbol instance name和在屬性選項卡給它一個名字並在代碼中引用它。