AS3克隆影片剪辑影片剪辑

2023-09-08 13:00:33 作者:掷

下面是我的$ C $下试图克隆的影片剪辑,它不工作。 我们应该看到两个cirles如果c $ CS的$正常工作。

  / *原始的影片剪辑* /
VAR圈:影片剪辑=新的MovieClip();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40,40,40);
circle.x = 10
的addChild(圈);

/ *克隆影片剪辑 - 但这并没有工作从这里向下* /
VAR cloneCirle:影片剪辑=新的MovieClip();
    cloneCirle =圈
    cloneCirle.x = 60
    的addChild(cloneCirle);
 

解决方案

当你这样做 cloneCircle =圆,它不是复制或克隆任何东西。它只是说,变量 cloneCircle 的另一个名字是原来的影片剪辑。你需要做的就是使用Graphics.copyFrom()方法。

尝试:

  VAR cloneCirle:影片剪辑=新的MovieClip();
cloneCircle.graphics.copyFrom(circle.graphics);
cloneCirle.x = 60;
的addChild(cloneCirle);
 
AS3基础教程 第29课 影片剪辑 上 路径

The below is my code for trying to clone the MovieClip and it doesn't work. We should see two cirles if the codes is working correctly.

/*The original MovieClip*/
var circle:MovieClip = new MovieClip();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
circle.x=10
addChild(circle);

/*CLONE the MovieClip - IT DOES'T WORK FROM HERE DOWN*/
var cloneCirle:MovieClip = new MovieClip();
    cloneCirle=circle
    cloneCirle.x=60 
    addChild(cloneCirle);

解决方案

When you do cloneCircle=circle, it's not copying or cloning anything. It's just saying that the variable cloneCircle is another name for your original circle MovieClip. What you need to do is use the Graphics.copyFrom() method.

Try:

var cloneCirle:MovieClip = new MovieClip();
cloneCircle.graphics.copyFrom(circle.graphics);
cloneCirle.x=60;
addChild(cloneCirle);