【问题标题】:Error 1046:Type was not found or was not a compile-time constant错误 1046:找不到类型或不是编译时常量
【发布时间】:2012-11-16 20:02:00
【问题描述】:

我正在尝试在 CS6 中为我正在学习的课程制作交互式 Flash 视频。我和教授简单地谈过这个问题,他也无法弄清楚这个问题。奇怪的是它说错误在第 2 行和第 3 行。当我删除这些行上的代码时,它仍然说错误在这些行上。看看我的 AS 并告诉我你的想法。

import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.*;

public class Essay1 extends MovieClip{

public function Essay1() {

    mc_Gas.visible = false;
    mc_Drive.visible = false;
    mc_Outside.visible = false;
    mc_DriveZoom.visible = false;
    mc_Dash.visible = false;

    mc_Start.btn_Start.addEventListener(MouseEvent.MOUSE_DOWN, gotoWindow);
    mc_Drive.btn_Drive.addEventListener(MouseEvent.MOUSE_DOWN, gotoZoom);
}
public function gotoWindow(MouseEvent):void{
    mc_Start.gotoAndPlay(2);
}
public function gotoZoom(MouseEvent):void{
    mc_DriveZoom.visible = true;
    mc_DriveZoom.mc_Car3.mc_HeadDown.gotoAndPlay(2);
}

}

这是错误信息:

F:\WDMD201\Essay\Essay1.as,第 2 行 1046:找不到类型或不是编译时常量:mc_Dash。

F:\WDMD201\Essay\Essay1.as,第 2 行 1046:找不到类型或不是编译时常量:mc_Drive。

F:\WDMD201\Essay\Essay1.as,第 3 行 1046:找不到类型或不是编译时常量:mc_Gas。

F:\WDMD201\Essay\Essay1.as,第 3 行 1046:找不到类型或不是编译时常量:mc_Start。

F:\WDMD201\Essay\Essay1.as,第 4 行 1046:找不到类型或不是编译时常量:mc_Outside。

F:\WDMD201\Essay\Essay1.as,第 5 行 1046:找不到类型或不是编译时常量:mc_DriveZoom。

【问题讨论】:

  • 找不到什么类型?你能粘贴完整的错误信息吗?
  • 顺便说一句,您的代码还有另一个错误。 gotoWindow(MouseEvent) 应该变成 gotoWindow(event:MouseEvent)

标签: actionscript compiler-errors flash-cs6 compile-time-constant


【解决方案1】:

问题是您正在尝试访问未知属性。要访问它们,您需要在舞台上声明与实例名称匹配的属性。将mc_Dashmc_Drive等所有属性声明为成员变量:

public class Essay1 extends MovieClip {

    public var mc_Dash:MovieClip;

    public function Essay1 {
    ....

【讨论】:

  • 这实际上不是问题。原来类名不能和实例名一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 1970-01-01
相关资源
最近更新 更多