我有一个棘手的问题,它难倒了我,你能快速浏览一下吗?
我在另一个矩形内画一个矩形,像这样(我用它作为遮罩):
CanvasBorder.graphics.beginFill(0xf0ff00,0.1);
CanvasBorder.graphics.drawRect(100,100,550, 300);
CanvasBorder.graphics.drawRect((stage.stageWidth/2-Canvas.width/2),(stage.stageHeight/2-Canvas.height/2),250, 150);
CanvasBorder.graphics.endFill();
它实际上是一个550 × 300的盒子,有一个250 × 150的切口。
在我的一个函数中,我需要将INNER 'cut-out'框的大小从250x150调整为150x100 -但保持OUTER框完全相同。
通常当我要调整一个普通矩形的大小时,我会这样做:
rectangle .width = 150;
rectangle .height = 100;
但是这个解决方案不起作用,我不知道如何引用形状的切出。我真的很纠结这个问题,在谷歌上找不到任何东西。
感谢您的宝贵时间
ChainsawDR
也许您可以像这样创建另一个Sprite
或Shape
:
// somewhere in your code declare the rectangleMask
var rectangleMas:Shape;
rectangleMask = new Shape();
// draw the rectangle the same way
// and add it to CanvasBorder (I assume that CanvasBorder is a DisplayObjectContainer)
CanvasBorder.addChild(rectangleMask);
然后你可以根据自己的需要调整大小:
rectangleMask.witdth = 150;
rectangleMask.height = 100;
如果你想让这个矩形成为CanvasBorder的蒙版,你可以这样做:
CanvasBorder.mask = rectangleMask;