我有一個類網格,它在繪圖區域生成一個像網格一樣的圖紙。然後我有5個不同形狀的課程可以繪製;線,多邊形,橢圓,曲線,弧如果在不同的課程中更改了某些內容,您將如何更新100多個變量?
現在,這5個類使用一個網格的實例,因爲網格有一個分辨率和一個比例尺。內網我有:
public function set resolution(x:Number):void {
_gap = (modBy10(x)/10);
_scale = (modBy10(x)/(this.resolution * _scale));
draw();
}
public function get resolution():Number {
return (_gap * 10);
}
public function set scale(x:Number):void {
_scale = (this.resolution/x);
}
public function get scale():Number {
return _scale;
}
/**/
public function scaleLength(x:Number):Number {
return (x * this.scale);
}
public function scaleLengthDown(x:Number):Number {
return (x/this.scale);
}
public function scaleArea(x:Number):Number {
return (x/Math.pow(this.scale, 2));
}
我只是失去了對電網時改變如何更新我的5個繪圖類的每個實例的解決方案。例如,Polygon由Line,Line(length,angle)的多個實例組成,其中「length」位於in,ft,cm或m中。如果用戶希望將比例從每100px分辨率的10英尺更改爲每80px20英尺的比例。是否有比重新繪製多邊形內每條線更簡單的方法?