在Flash CS5 Actionscript 3中重置媒体文件?

时间:2012-03-09 00:19:06

标签: actionscript-3 flash-cs5

我有两个与一个.fla文件链接的Actionscript文件。文件Document.as假设支持键盘控件和鼠标控件,而Reset.as则用于控制卡的重置(这是一张交互式生日卡)。我在'Reset.as'文件中添加了这个,但是,当按下“reset”按钮时,没有任何反应!没有任何图像移动,或任何东西!我在这里做错了吗?所有文件都有实例名称!

这是'Reset.as'代码;

    package src
    {

import flash.events.*;
import flash.display.*;

    public class Reset extends MovieClip 
    {       

        public function Reset ()
    {

        mouse();
    }

    public function mouse()
    {
        reset.addEventListener(MouseEvent.CLICK, Reset1);
    }

    public function Reset1(e:MouseEvent) :void 

        {
            aldo.x = -176.80;
            aldo.y = 282;

            aldoo.x = -322.80;
            aldoo.y = 286;

            reset.x = -401.75;
            reset.y = 328.45;

            firework1.x = 100.75;
            firework1.y = 545.15;

            firework.x = 457.55;
            firework.y = 551;

            instruction.x = 437.25;
            instruction.y = 379;

            fade2.x = 132.15;
            fade2.y = 433.15
        }
    }
      }

      //and here's the 'Document.as' code;


   package src
   {
import flash.events.*;
import flash.display.*;

public class Document extends MovieClip
{
    var speed:int = 20;
    var fader:Number = 0.1

    public function Document ()
    {
        init();

    }

    public function init()
    {
        button1.addEventListener(MouseEvent.CLICK, onMouseClick);           
        stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
    }

    public function onMouseClick(e:MouseEvent) :void
    {   
        //if cake is clicked, the y axis for instance "instruction", "firework1", "firework" changes                                        
        instruction.y = 500;
        firework1.y = 100;
        firework.y = 100;

        //if cake is clicked, the y axis for instance "fade2" changes                                   
        fade2.y = 240;      

    }

    public function onKeyDown(e:KeyboardEvent):void
    {
    //if the right key (arrow key) is pressed, 
    //the instances "aldo and "aldoo" move positively on the x axis by "5"
    //the instance "fade2" (which is "Press and hold the right key") also fades out
    //the longer the right arrow key is pressed
    if (e.keyCode == 39 && alpha > 0  )
        {
            aldo.x += speed;
            aldoo.x += speed;
            reset.x += speed;
            fade2.alpha -= fader;
        }

    //if the left key (arrow key) is pressed, 
    //the instances "aldo and "aldoo" move negatively on the x axis by "5"
        if (e.keyCode == 37 )
        {
            aldo.x -= speed;
            aldoo.x -= speed;
            reset.x -= speed;

        }



  }
  }
  }

1 个答案:

答案 0 :(得分:0)

我有两个与一个.fla文件链接的Actionscript文件。文件Document.as假设支持键盘控件和鼠标控件,而Reset.as则用于控制卡的重置(这是一张交互式生日卡)。我在'Reset.as'文件中添加了这个,但是,当按下“reset”按钮时,没有任何反应!没有任何图像移动,或任何东西!我在这里做错了吗?所有文件都有实例名称!

我没有使用过FlashCS5,但我确信它与CS4没有太大变化。 你可能会错过几件事。 1) 您必须确保您的Document文件正确链接到.fla文件。 如果未正确链接,Flash IDE将为您提供排序消息。 “在类路径中找不到文档类的定义,因此在导出时将在SWF文件中自动生成一个定义”

Flash项目需要知道在哪里找到Document.as。 转到文件>发布设置 在Flash选项卡中,应该有一个区域显示“脚本:”,除此之外应该有一个“设置”按钮。点击设置按钮。 在下面的弹出菜单中,您应该看到一个名为“Source Path”的选项卡,其中添加了文档文件在计算机上的目录路径。

2) 确保在.fla中命名了重置对象的实例。在代码中引用它的方法是确保将名称应用于显示树的实例。单击属性部分中的对象a,可以重命名它。

如果完成这两件事,您将能够正确地将按钮点击事件注册到您的重置按钮。