我有两个与一个.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;
}
}
}
}
答案 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,可以重命名它。
如果完成这两件事,您将能够正确地将按钮点击事件注册到您的重置按钮。