Flash AS3:如何在另一个矩形内调整矩形?
问题描述:
我有一个棘手的一个真实绊倒了,你能快速浏览一下它吧......Flash AS3:如何在另一个矩形内调整矩形?
我这样的另一个矩形(我用它作为掩模)中绘制一个矩形:
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();
有效的一个550x300盒具有250x150缺口。
在我的功能之一,我需要调整内部“截取”框从250x150到150x100 - 但保留外包装盒完全相同。
通常当我调整正常的矩形我应该这样做:
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;
如果你想让这个矩形成为一个mas CanvasBorder k您可以这样做:
CanvasBorder.mask = rectangleMask;
通过另一个论坛解决。需要清除图形并读取。 CanvasBorder.graphics.clear(); CanvasBorder.graphics.drawRect(100,100,550,300); CanvasBorder.graphics.drawRect((stage.stageWidth/2-Canvas.width/2),(stage.stageHeight/2- Canvas.height/2),150,100); CanvasBorder.graphics.endFill(); –