Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
我试图嵌入flash文件的actionscript出现错误_Flash_Animation_Flash Cs5 - Fatal编程技术网

我试图嵌入flash文件的actionscript出现错误

我试图嵌入flash文件的actionscript出现错误,flash,animation,flash-cs5,Flash,Animation,Flash Cs5,基本上,我正在制作一个摇摆草效果,这个错误出现了,我不太确定如何修复它 场景1,层“动作”,第1帧,第19 1180行:调用可能未定义的方法duplicateMovieClip 场景1行动框架1: import flash.display.MovieClip; function duplicate(name:MovieClip, amount:Number):void { for(var i = 1; i<= amount; i++) { duplica

基本上,我正在制作一个摇摆草效果,这个错误出现了,我不太确定如何修复它

场景1,层“动作”,第1帧,第19 1180行:调用可能未定义的方法duplicateMovieClip

场景1行动框架1:

 import flash.display.MovieClip;

function duplicate(name:MovieClip, amount:Number):void
{
    for(var i = 1; i<= amount; i++)
    {
        duplicateMovieClip(name, name+"_"+i, i);
    }


}
duplicate(grass_mc, 50);

duplicateMovieClip方法来自ActionScript2,现在ActionScript3中不推荐使用它


您不能再“复制”电影剪辑,但有几种方法可以达到相同的效果。如果您对创建一个将创建多个对象实例的新类没有信心,请查看它,这将有助于解释该过程。

duplicateMovieClip方法来自ActionScript2,现在ActionScript3中不推荐使用它


您不能再“复制”电影剪辑,但有几种方法可以达到相同的效果。如果您对创建一个新类(该类将创建对象的多个实例)没有信心,请查看它,这将有助于解释该过程。

因此,基本上您需要as3中as2的好的ol'
duplicateMovieClip
方法。有几种方法可以获得类似的结果,但首先,我建议您阅读一些关于ActionScript3的对象OOP的教程

一旦你读到你应该更有能力做到这一点,但这里有一个演练无论如何,试图保持事情简单:

转到你的,右键单击你的草地符号,选择属性,然后选中
导出动作脚本
导出到第1帧
。将
Grass
写为类名,保持基类不变(它将显示为flash.display.MovieClip。您将得到一个提示,提示找不到该类,目前还可以。完成此操作后,每次使用
var my_mc:MovieClip=new Grass()行创建Grass对象时
然后您将child添加到舞台(或任何已经在舞台上的movieclip)您正在创建原始grass movieclip的“副本”

例如,此代码将创建50个Grass movieclip实例:

import flash.display.MovieClip;

createGrass(50);

function createGrass(amount:uint):void
{
    var grass_mc:MovieClip;
    for(var i:uint = 1; i<= amount; i++)
    {
        grass_mc = new Grass();
        grass_mc.name = "grass_mc"+i;

        initGrass(grass_mc);
        addChildAt(grass_mc,i);
    }

}

//grass-Action Frames 1
function initGrass(mc:MovieClip):void
{
    mc.height= Math.random()*70+5;
    mc.width = Math.random()*15+5;
    mc.x = Math.random()*stage.width;
    mc.gotoAndPlay(Math.ceil(Math.random()*20));

}
导入flash.display.MovieClip;
青草(50);
函数createGrass(金额:uint):无效
{
var grass_mc:MovieClip;

对于(var i:uint=1;i所以基本上你需要as3中as2的好的ol'
duplicateMovieClip
方法。有几种方法可以获得类似的结果,但首先,我建议你阅读一些关于ActionScript3的对象面向对象的教程

一旦你读到你应该更有能力做到这一点,但这里有一个演练无论如何,试图保持事情简单:

转到您的,右键单击您的草符号,选择属性,然后选中
导出ActionScript
导出到第1帧
。将
写为类名,保留基类(它将显示flash.display.MovieClip。您将得到一个提示,说明找不到该类,目前还可以。这样做时,每次您使用行
var my\u mc:MovieClip=new Grass();
创建一个Grass对象,并且
将child
添加到stage(或已在stage上的任何MovieClip)中,您都在创建一个“副本”原版草皮电影《利普》

例如,此代码将创建50个Grass movieclip实例:

import flash.display.MovieClip;

createGrass(50);

function createGrass(amount:uint):void
{
    var grass_mc:MovieClip;
    for(var i:uint = 1; i<= amount; i++)
    {
        grass_mc = new Grass();
        grass_mc.name = "grass_mc"+i;

        initGrass(grass_mc);
        addChildAt(grass_mc,i);
    }

}

//grass-Action Frames 1
function initGrass(mc:MovieClip):void
{
    mc.height= Math.random()*70+5;
    mc.width = Math.random()*15+5;
    mc.x = Math.random()*stage.width;
    mc.gotoAndPlay(Math.ceil(Math.random()*20));

}
导入flash.display.MovieClip;
青草(50);
函数createGrass(金额:uint):无效
{
var grass_mc:MovieClip;

对于(var i:uint=1;i您使用的是哪一版本的操作脚本?您使用的是哪一版本的操作脚本?是否有可能使用新方法进行示例?对不起,我现在完全迷路了!提供的链接包含很好的代码示例,您是否在某个特定点丢失了?是否有可能使用新方法进行示例?Sorry,我现在很迷茫!提供的链接包含很好的代码示例,您是否在某个特定点迷路了?