我正在尝试构建一个简单的游戏,您将在其中查看包含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");
我不知道如何做到这一点。
答案 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,并在属性选项卡中为其指定名称并在代码中引用它。