首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从带有移动元素的mc复制像素

从带有移动元素的mc复制像素
EN

Stack Overflow用户
提问于 2014-05-17 17:26:28
回答 1查看 86关注 0票数 0

是否有一种方法可以将像素从包含移动部分的mc复制到另一个mc (就像一个从mc的一个角落移动到另一个角落并无限重复的圆),每秒钟复制到另一个mc。

然而,它不只是复制它们,它必须是处理器/性能友好的,因为我确实找到了一种方法,但它落后了很多。

我的方式是:

代码语言:javascript
复制
    public class Main extends MovieClip
{
    private var myRainbow:Rainbow = new Rainbow();
    private var mySprite:Sprite = new Sprite();

    private var bmd:BitmapData;
    private var countainer:Sprite = new Sprite();
    private var bm:Bitmap = new Bitmap();

    public function Main()
    {
        this.addChild( mySprite );
        mySprite.addChild( myRainbow );
        mySprite.x = stage.stageWidth * 0.5 - myRainbow.width * 0.5;
        mySprite.y = stage.stageHeight * 0.5 - myRainbow.height * 0.5;

        bmd = new BitmapData( 50, 50 );
        bm.x = 0;
        bm.y = 0
        countainer.addChild( bm );
        addChild( countainer )
        countainer.x = 100
        countainer.y = 100

        countainer.addEventListener(MouseEvent.MOUSE_DOWN, onClick)
        this.addEventListener(Event.ENTER_FRAME, onFrame);
        this.addEventListener(MouseEvent.MOUSE_UP, drop);
    }

    private function onFrame( event:Event )
    {
        bmd.draw( mySprite, new Matrix( 1, 0, 0, 1, 0, 0 ), null, null, new Rectangle( 0, 0, 50, 50 ) );
        bm.bitmapData = bmd;
    }
    //dont mind the other methods.
}

其中,类彩虹()实际上是包含移动元素的mc。

但是,当我在平板电脑上测试这段代码时,它会开始滞后。平板电脑有4-5个元素,可以复制来自彩虹()的不同像素(或者在有10-20个元素的PC上)。当然,它是每帧像素的复制,但却找不到另一个解决方案。

还有别的办法吗?我愿意听取任何建议。希望你遇到了这个问题。

PS: 1:你可以在这个链接上看到我在做什么:运动元件

PS: 2:主mc (在我的例子中是彩虹)将超过400x300维,这4-5元素将显示主mc的不同部分,但将显示所有区域(我的意思是,第1 MC将跟踪面积从X维从0到100,第2从100到200,第3从200到300,第4从300到最末端,在这种情况下它们将具有主MC ->的高度)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-17 18:29:06

这是您的解决方案:US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#copyPixels()

copyPixels在位图上速度非常快。您的问题是,您正在更改每个帧的位图,如果在多个对象上这样做,意味着不仅要绘制源,而且还要创建每个帧的新位图。

尝试复制像素,并确保您使用目标,这将直接将位图放在正确的地方。

还可以尝试在绘图前锁定位图,这也将提高性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23714178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档