Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 AS3-尝试声明电影剪辑的值_Actionscript 3_Movieclip - Fatal编程技术网

Actionscript 3 AS3-尝试声明电影剪辑的值

Actionscript 3 AS3-尝试声明电影剪辑的值,actionscript-3,movieclip,Actionscript 3,Movieclip,好的,我的Bullet.as文件中有以下代码: public var impact:MovieClip; public function Bullet():void { addEventListener(Event.ADDED_TO_STAGE, whenAdded); } function whenAdded(e:Event) { if(this is zArrow){ power = -1; speed = 15; impact

好的,我的Bullet.as文件中有以下代码:

public var impact:MovieClip;

public function Bullet():void
{
    addEventListener(Event.ADDED_TO_STAGE, whenAdded);
}

function whenAdded(e:Event)
{
    if(this is zArrow){
       power = -1;
       speed = 15;
       impact = arrowImpact;
       trace(impact);
    }
    if(this is Dice){
       power = -Math.round(Math.random()*5 + 1);
       speed = 10;
       impact = diceImpact
    }
}
请看,我正在尝试将“public var impact:MovieClip”的值设置为电影剪辑“arrowmimpact”或“diceImpact”。我想要的是,每当一颗子弹与敌人相撞时,它都会留下一张撞击图像,我试图根据子弹碰撞的部位来改变显示的撞击效果


我可以使用此设置更改所有其他变量,如功率和速度,但我无法声明“impact”电影剪辑变量是哪个impact电影剪辑。

从我现在理解您的问题的方式来看,您希望从库中提取这些特定的电影剪辑。如果我没弄错的话。为此,需要将库中的每个电影剪辑与扩展MovieClip的AS类配对

确保选中“导出Actionscript”,并为每个脚本创建所需的类。然后,在项目符号的代码中,可以创建它们的新实例。所以让它说:

impact = new ArrowImpact)();
或者根据你的职业而定

希望这是你想要的

为了使用这些方法,我建议创建一个getImpact方法,其思路如下:

public function getImpactMC():MovieClip
{
    return impact;
}
然后,您需要在主文档中执行的所有操作就是添加此方法的适当影响。但是,请注意,在将impactMC作为子对象添加到舞台上之前,需要调整其x和y值,以确保其显示在正确的位置


很高兴这有帮助

不,影响不是在舞台上。。这可能就是跟踪一直返回null的原因。我试图声明一个变量,这样当碰撞测试(在文档类中)将“影响”添加到stage时,它将添加正确的一个。我只是希望我可以将这个变量声明为电影剪辑,这样碰撞测试就可以调用Bullet.as类中的impact电影剪辑。所以本质上你想在Bullet.as中创建一个新的电影剪辑?如中所示,这些影响动画是否保存为变量?如果我理解正确的话,我的编辑应该能反映这一点。太好了。这些痕迹显示了正确的电影剪辑。现在,希望我可以在文档类碰撞测试函数中正确引用它们。