Actionscript 3 如何使物体桅杆成为舞台的一个区域

Actionscript 3 如何使物体桅杆成为舞台的一个区域,actionscript-3,Actionscript 3,我在网上搜索了一个类似的解决方案,但没有找到。 我的意思是,就像所有的教程一样 将一张图片作为背景,然后制作一个矩形(或任何形状),用于在移动该矩形/形状(遮罩)的地方取消遮罩 所以我的问题是:我如何在舞台上移动矩形,但所展示的内容保持不变。为了展示我的意思,我展示了这张图片 (实际掩码是带有红色边框的框) 因此,在开始时,我的面具将自己定位在x=50的某个位置;y=250,然后我决定把它移到右边x=350;y=250。但我希望遮罩仍然显示椭圆的相同属性(或者说得更清楚-椭圆的相同部分,在区域

我在网上搜索了一个类似的解决方案,但没有找到。 我的意思是,就像所有的教程一样 将一张图片作为背景,然后制作一个矩形(或任何形状),用于在移动该矩形/形状(遮罩)的地方取消遮罩

所以我的问题是:我如何在舞台上移动矩形,但所展示的内容保持不变。为了展示我的意思,我展示了这张图片

(实际掩码是带有红色边框的框) 因此,在开始时,我的面具将自己定位在x=50的某个位置;y=250,然后我决定把它移到右边x=350;y=250。但我希望遮罩仍然显示椭圆的相同属性(或者说得更清楚-椭圆的相同部分,在区域x=50到x=150 y=50到y=100)

我这样做的原因是因为这里的椭圆是静态的(因为我想展示我想要实现的),但我真正想要的是使椭圆移动(改变它的方向),所以当我将遮罩移动到某个地方时,它将显示舞台的区域以及圆的哪个部分正在移动(从x=50到x=150和y=50到y=100的面积)

所以我要再次说明我的问题:我如何制作面具,显示我想要的区域,无论我把面具移到哪里

我的代码与以下链接中的代码相同:

[Embed(source = '../../lib/Contrast_by_MaNi3k.png')]
    private var backgroundClass:Class;
    private var background:Bitmap = new backgroundClass();
    private var myMask:Sprite;
    private var myMaskSize:Number = 100;

    public function Main():void 
    {
        if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);

        addChild(background);

        myMask = new Sprite();
        myMask.graphics.beginFill(0x00FF00);
        myMask.graphics.drawRect(0, 0, myMaskSize, myMaskSize);
        myMask.x = 350;
        myMask.y = 250;
        addChild(myMask);

        background.mask = myMask;

        stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
        stage.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
    }

    private function mouseDown(event:MouseEvent):void {
        myMask.startDrag();
    }

    private function mouseReleased(event:MouseEvent):void {
        myMask.stopDrag();
    }

也许您实际上不需要遮罩。您可以使用位图数据类拍摄舞台任何部分的“图片”。然后,您可以使用该位图数据创建一个位图,并将位图定位到您想要的任何位置


你说‘椭圆是静态的……’,这意味着它不会移动,因此你不必更新位图数据‘图片’。但是如果椭圆确实改变了位置,只需在舞台上拍摄原始区域的另一张‘图片’,然后重新绘制位图。

不完全清楚。在你移动后,遮罩以何种方式保持活动状态t?移动遮罩后,遮罩和遮罩对象之间的关系会发生什么变化?或者你只是想要一个可以放在其他地方的遮罩副本吗?好的,从你的回答来看,如果我有一个移动的椭圆,我必须使用一个功能,从最后一帧中清除图形,复制这个fra中位置的图形我,他们将复制的图形粘贴到矩形区域(以前是遮罩)。这就是你的建议吗?如果是的话,hmmmm可以做得更方便处理器,因为如果我有3-4个“遮罩”这代表了舞台上3-4个不同的区域,它会变得非常滞后!我知道你想要移动椭圆!我需要再考虑一下。你会在一台快速的台式机上运行这个吗?移动设备?我实际上做了一些接近我想要的->,但我不认为这是一个好的解决方案,因为如果我有10或15个eleme跟踪主元素的不同部分的nts,我认为它会增加很多峰值,或者会消耗很多处理器功率