AS3如果在舞台上看不到一组动画片段,如何切换到不同的场景?

时间:2012-05-31 05:01:18

标签: actionscript-3 flash flash-cs5

我正在制作一个应用程序,应用程序非常简单,一部分你有4个花瓣,你选择所有4个,这将带你到另一个场景,显示一个标志“再试一次”由于某种原因,我甚至无法追踪这个花瓣在那个舞台上被采摘后的活动(每个花瓣都是一个动画片段)。我还通过类链接将影片剪辑作为变量写入AS3,我甚至不知道这是否真的有必要,并且当影片剪辑“one”不可用时,我会将句子“helloworld”追踪到,而且这也不会发生。 (我也尝试了数组,如果(“array”.visible == false则gotoandplay“其他场景”具有相同的结果。);“地点”是我想要在挑选花瓣后去的场景。

这是我当前的代码并且没有错误,但是它不能正常工作,因为它没有注册动画片段不可见也不会转到其他场景。

var one = new sunflowerpetal10;
var two = new sunflowerpetal12;
var three = new sunflowerpetal13;
var four = new sunflowerpetal14;
var five = new sunflowerpetal15;
var six = new sunflowerpetal16;

var hello:String;
hello = "helloworld";

if(one.visible == false, two.visible == false, three.visible == false, four.visible == false, five.visible == false, six.visible == false)
{
 trace(hello); 

 gotoAndPlay(1, "theplace");
}

请帮助! 我的影片剪辑已经在舞台上没有在AS3上注册吗?或者似乎是什么问题??

2 个答案:

答案 0 :(得分:1)

这里有一堆错误,很难确定你在做什么。关于在何处以及如何引用的内容,Flash非常混乱。

对于初学者,当你打电话给新的东西时,你需要给它括号。所以...

new sunflowerpetal15();

这假设您的库中有一个名为sunflowerpetal15的MC,并且该标签是“导出到actionscript”的方式,而不仅仅是它在库中的名称。

接下来,您必须将此项目放在舞台上

this.addChild(new sunflowerpetal15());

你的if语句中的下一个是非法的。我认为你的意思是&& (逻辑上和)您的项目之间,但同样,不确定您在做什么)。

当所有这些都修复后,你应该让它去玩第1帧,但我怀疑你从未离开第1帧开始!所以...再次,我怀疑你不清楚你在这里做了什么。

你真正需要的是关于Flash和AS3入门的一步一步的好教程。你已经遍布整个地图,Flash是一个绝对错误的环境,没有一个好的指导就可以单独使用它,因为它非常不直观。

答案 1 :(得分:0)

答案!:

每个花瓣都有这个代码(一旦你点击它就会使对象不可见的代码):

sunflowerpetal1.addEventListener(MouseEvent.CLICK, fl_ClickToHide);

function fl_ClickToHide(event:MouseEvent):void
{
    sunflowerpetal1.visible = false;
}
  • 现在每次我都试图做if声明,这样一旦所有的花瓣都消失了,它就会传递到另一个屏幕,它将无法正常工作!

前:

if(sunflowerpetal1.visible == false && sunflowerpetal2.visible == false && sunflowerpetal3.visible == false && sunflowerpetal4.visible == false && sunflowerpetal5.visible == false && sunflowerpetal6.visible == false)
{
    gotoAndPlay(1, "theplace");
}
  • 诀窍是将这个“if”语句放在每个花瓣当前代码的括号内,如下所示:

    sunflowerpetal1.addEventListener(MouseEvent.CLICK,fl_ClickToHide);

    function fl_ClickToHide(event:MouseEvent):void {     sunflowerpetal1.visible = false;

    if(sunflowerpetal1.visible == false && sunflowerpetal2.visible == false && sunflowerpetal3.visible == false && sunflowerpetal4.visible == false && sunflowerpetal5.visible == false && sunflowerpetal6.visible == false)
    

    {     gotoAndPlay(1,“theplace”); }

    }

*在所有花瓣(或消失的物体)代码中放入“if”语句并且您将全部设置,一旦您单击所有花瓣(或影片剪辑),您将被发送到您命令它的场景至。 (在将您带到另一个名为"theplace"的屏幕上,然后点击了6个花瓣,然后再说“再试一次”。

问题已解决=)