我正在尝试动态地向舞台添加影片剪辑。在主.fla的库中,我有一个名为“menuBar”的影片剪辑。我有一个名为menuBar.as的类,其代码如下:
package
{
import flash.display.MovieClip;
public class menuBar extends MovieClip
{
public function menuBar()
{
var menuBar:MovieClip = new MovieClip ;
stage.addChild(menuBar);
menuBar.x = 319.9;
menuBar.y = 10.4;
}
}
}
类路径设置正确,但此时我已经陷入困境。我不知道如何将电影剪辑放到舞台上。提前感谢您的帮助。
答案 0 :(得分:0)
你应该做另一种方式。您正在尝试将menuBar
类添加到舞台上,但舞台仅为Main所知,而不是menuBar
。您应该在Main
类,时间轴或其他地方声明一个变量,然后将其添加到舞台上。
// timeline code. Put this in Main
var menubar:menuBar=new menuBar(); // declare
menubar.x=320;
menubar.y=10; // position
addChild(menubar); // add
menuBar
构造函数应保持为空,因为您显然是在Flash CSx编辑器中设计菜单栏。
另请注意,您可能不需要将菜单栏添加到舞台,您可以轻松地将其添加到主要课程addChild(menubar)
而不是stage.addChild(menubar)
。
答案 1 :(得分:0)
在库中你必须转到剪辑menuBar的属性并将其导出为actionscript,只需检查相应的大小写,在类名字段中输入MenuBar作为例子。也检查第1帧中的导出选项。之后,在代码中的任何位置,您都可以使用以下代码创建一个MenuBar:
var myMenuBar:MenuBar = new MenuBar();
addChild( myMenuBar );
如果您输入类名MyOtherItem,则可以使用以下代码创建它:
var myItem:MyOtherItem = new MyOtherItem();
addChild( myItem );
希望这有帮助
PS:尝试使用大写字母作为类名的第一个字母,使用小写字母作为变量的名字,这对每个人来说都更清楚。 (例如:MyClassName,myVarName)