Flash 如何在Actionscript中缩放填充,而不是笔划?
假设我有一个盒子。填充为渐变,笔划的厚度为1像素。如何调整填充大小,但保持笔划厚度不变Flash 如何在Actionscript中缩放填充,而不是笔划?,flash,actionscript-3,Flash,Actionscript 3,假设我有一个盒子。填充为渐变,笔划的厚度为1像素。如何调整填充大小,但保持笔划厚度不变 private function resizeMovieClip(newWidth:Number, newHeight:Number):void { this.movieClip.width = newWidth; this.movieClip.height = newHeight; } 基本上,我想模拟Javascript调整DOM元素的大小。在JS中,调整长方体的大小永远不会改变其边框。W
private function resizeMovieClip(newWidth:Number, newHeight:Number):void
{
this.movieClip.width = newWidth;
this.movieClip.height = newHeight;
}
基本上,我想模拟Javascript调整DOM元素的大小。在JS中,调整长方体的大小永远不会改变其边框。With不确定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的绘制方式。将
对于后代,正如OP所提到的,这个选项可以在IDE中直接修改
您将注意到,缩放已更改,因为线可能会变薄。如果没有发生这种情况,请单击其他内容,然后返回要修改的行。缩放比例可能已更改回正常值。有时,更改缩放比例似乎不起作用。如果先将缩放设置为水平或垂直,然后将其更改为无,则应能正常工作。这不是必需的,而且在缩放时会占用更多处理器。是否有方法在Flash WYSIWYG IDE中设置
LineScaleMode
?我已经在那里绘制了填充和笔划。似乎在FLA中已经存在的形状上执行mc.graphics.lineStyle(…)
不起作用。只有在动态创建这些形状时,它才起作用。
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;