actionscripts克隆实例

时间:2010-10-26 17:24:11

标签: actionscript-3

有没有人找到克隆“实例名称”的解决方案?

这就是我的意思。

  1. 使用flash而不是动作
  2. 绘制随机形状
  3. 将其转换为“符号”
  4. 将实例名称分配给“cloneMe”
  5. 现在尝试克隆它

    代码应该是这样的。

    var newClone:MovieClip = cloneMe.copy()
    newClone.x=100
    newClone.y=50
    addChild(newClone);
    

3 个答案:

答案 0 :(得分:2)

尝试使用ObjectUtil.clone(cloneMe)

我处理符号已经有一段时间了,但这应该有用。

您可以查看ObjectUtil here的文档。

如果您没有可用的Flex,您也可以自己实现此功能。这与ObjectUtil.clone()使用的代码相同:

var buffer:ByteArray = new ByteArray();
buffer.writeObject(value);
buffer.position = 0;
var result:Object = buffer.readObject();
return result;

答案 1 :(得分:1)

我在上一个问题中给出了答案: Actionscripts 3 Clone MovieClip

如果您需要以MovieClip结束,则只需将生成的Bitmap添加到MovieClip实例。

如果要调用方法,只需使用静态方法创建一个Class。 这只能用于复制图形数据。

public class Utils
{
   public static function clone( cloneMe:MovieClip ):MovieClip
   {
      var mc:MovieClip = new MovieClip();
      var bmd:BitmapData = new BitmapData(cloneMe.width , cloneMe.height );
      bmd.draw( cloneMe);
      var bm:Bitmap = new Bitmap(bmd);

      mc.addChild( bm );
      return mc;
   }
 }

然后在Flash中,前提是您已将Utils类添加到库路径中。你可以这样做:

 var newClone:MovieClip = Utils.clone( cloneMe );
 //etc...

答案 2 :(得分:0)

将您的符号指定为自定义类可能有帮助