[英]Flash AS3: How to Resize a Rect within another Rect?
我遇到了一個棘手的問題,請您快速瀏覽一下...
我在另一個這樣的矩形中繪制一個矩形(我將其用作遮罩):
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;
但是此解決方案不起作用,我也不知道如何引用形狀的切口。 任何想法,請問我真的很為此掙扎,無法在Google上找到任何東西。
謝謝你的時間
電鋸DR
也許您可以這樣創建另一個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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.