我正在使用flash cs5制作寓教于乐的游戏,我真的很擅长使用flash,事实上我们从未在学校解决它,但我坚持要学习它。
在我的代码中,我遇到了此错误
C:\ Users \ acer \ Desktop \ JikanLibrary \ Main.as,第16行1119:访问可能未定义的属性单击带有静态类型Class的引用。
这是我在程序中使用的代码
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
var startPage:StartPage;
var jikanBookshelf:JikanBookshelf;
public function Main()
{
startPage = new StartPage;
jikanBookshelf = new JikanBookshelf;
startPage.jikanBookshelf.addEventListener(MouseEvent.Click, onJikanBookshelf);
addChild(startPage);
function onJikanBookshelf(event:MouseEvent):void
{
addChild(jikanBookshelf);
removeChild(startPage);
}
}
}
}
错误在此行
startPage.jikanBookshelf.addEventListener(MouseEvent.Click, onJikanBookshelf);
由于我是flash的新手,我真的不知道我的代码出了什么问题,它在我放鼠标事件之前就已经工作了。我希望有人可以帮助我。
答案 0 :(得分:3)
ActionScript是一种区分大小写的语言。这意味着Click
与CLICK
不同。所以你需要的是MouseEvent.CLICK
“为什么CLICK全部大写?大多数属性名称不是。”,你可能会问。
这是因为CLICK是MouseEvent的静态常量属性,ActionScript(和许多其他语言)程序员之间的约定是静态常量以全部大写形式编写,以便在视觉上区别于其他变量。 / p>
答案 1 :(得分:0)
这是名称冲突问题:类定义名称与对象名称相同。
您的脚本中的问题是您有一个类定义名startPage
,并且您正在尝试创建一个名称相同的对象startPage
。
您必须将对象名称更改为其他名称。我们说startpage1
。