如何在flash cs6中制作进度条(levelup bar)

时间:2014-06-08 09:58:43

标签: actionscript-3 flash

我正在尝试构建一个简单的游戏,您将在其中查看包含5个可点击对象的地图。

当您单击这些对象时,您可以浏览某些页面,单击最后一个按钮后,它将返回到地图本身。现在一切正常。单击此特定的最后一个按钮它具有以下代码。

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");

我不知道如何做到这一点。

1 个答案:

答案 0 :(得分: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,并在属性选项卡中为其指定名称并在代码中引用它。