假设我有一个盒子。填充是一个渐变,笔划有1像素的厚度。我如何调整其填充大小但保持笔划厚度不变?
private function resizeMovieClip(newWidth:Number, newHeight:Number):void
{
this.movieClip.width = newWidth;
this.movieClip.height = newHeight;
}
基本上,我想模仿Javascript调整DOM元素的大小。在JS中,调整框的大小永远不会改变它的边界。
答案 0 :(得分:5)
将lineStyle()的scaleMode设置为LineScaleMode.NONE
var sh:Shape = new Shape();
sh.graphics.lineStyle(1.0, 0x000000, 1.0, false, LineScaleMode.NONE);
sh.graphics.beginFill(0xFF0000, 1.0);
sh.graphics.drawRect(0, 0, 100, 100);
sh.graphics.endFill();
addChild(sh);
sh.scaleX = sh.scaleY = 4.0;
答案 1 :(得分:2)
答案 2 :(得分:0)
不确定你的MC是如何绘制的,但我会在每次调整大小时重绘它:
private function resizeMovieClip(newWidth:Number, newHeight:Number):void
{
this.graphics.clear();
this.movieClip.width = newWidth;
this.movieClip.height = newHeight;
this.graphics.lineStyle(1,0x000000);
this.graphics.lineTo(this.width,0);
this.graphics.lineTo(this.width,this.height);
this.graphics.lineTo(0,this.height);
this.graphics.lineTo(0,0);
}
免责声明:当然,在重新绘制边框之前,这将清除使用图形API绘制的任何其他内容,并且根据您的MC绘制方式,它可能无效。
答案 3 :(得分:0)