虽然搜索了但我可以在Stack上找到答案,所以我希望有人可以帮助我。
我尝试了Flash教程CS6和Flashbuilder,我在Flash中创建了一个名为square_mc的Movieclip,并使用名称square来实例化它。
我已将名为Main.as的类文件链接到FLash构建器,并在flash builder中编写:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
public function Main()
{
super();
circle.addEventListener(MouseEvent.CLICK, onToolClick);
}
function onToolClick(event:MouseEvent):void{
trace("klickade på ontoolclick");
}
}
}
在Flash构建器中的我收到警告“访问未定义的属性圈” 但是当我运行它时,它就像一个魅力。
我猜它只是Flashbuilder不知道我已经用Flash中的名称圈实例化了它,因此给出了警告。
有没有办法让Flashbuilder能够理解它在那里工作?
答案 0 :(得分:0)
选项1: 为了解决这个问题,我通常在Flash CS6的ActionScript设置(文件> ActionScript设置)中取消选中“自动声明舞台实例”。然后在Flash Builder中声明Flash CS6中舞台上的MovieClip:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
public var circle:MovieClip; // manually declare circle
public function Main()
{
super();
circle.addEventListener(MouseEvent.CLICK, onToolClick);
}
function onToolClick(event:MouseEvent):void{
trace("klickade på ontoolclick");
}
}
}
选项2: 如果您不想在舞台上手动声明所有电影,则选项2是创建圆圈引用作为Flash Builder的单独变量:
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
private var _circle:MovieClip;
public function Main()
{
super();
_circle = this.getChildByName( "circle" ) as MovieClip;
_circle.addEventListener(MouseEvent.CLICK, onToolClick);
}
function onToolClick(event:MouseEvent):void{
trace("klickade på ontoolclick");
}
}
}
这应该会阻止Flash Builder向您提供错误消息:)