我想将库中的movieclip添加到舞台上的movieclip。
function setMc(con:Sprite,mc:Sprite):void
{
con.addChild(mc)
mc.x=mc.width/2
mc.y=mc.height/2
}
setMc(myholder,mylibrarymc)
我收到此错误:
TypeError:错误#1034:类型强制失败
我需要改变什么?
答案 0 :(得分:3)
库只包含原型,而不包含实际对象。我假设“mylibrarymc”是库中MC类型的名称。在这种情况下,“mylibrarymc”是类型Class,使用方式不同。
function setMc(con:Sprite,mc:Class):void
{
var newMC:DisplayObject=new mc() as DisplayObject;
// Here you actually make an object out of a class
con.addChild(newMC);
newMC.x=newMC.width/2;
newMC.y=newMC.height/2;
}
setMc(myholder,mylibrarymc);
希望这会有所帮助。我已经有一段时间涉足图书馆了。
答案 1 :(得分:1)
你的函数需要一个Sprite,你可能正在传递一个MovieClip。看一下右键单击库中的mc时的“export for actionscript”选项
答案 2 :(得分:0)
右键单击库中的对象,然后转到“属性”。确保勾选标记为“为ActionScript导出”的框并为其指定适当的名称。您为该符号提供的类名称将用于在代码本身中创建该类型的对象,例如:
使用类名“播放器”导出ActionScript的符号。
在您的ActionScript文件中:
var player = new Player();
addChild(player);
您可以使用任何MovieClip成员函数(位置,alpha)操作对象,并指定事件侦听器以使其具有交互性。