用jsfl在Flash中创建自定义的刻度尺 |
| 作者:佚名 来源:不详 更新:2007-1-13 20:36:38 错误报告 我要投稿 |
在Flash中画一个刻度尺。原理比较简单,如果用创作工具(画刻度线、文本...)的话,似乎又有点繁琐; 如果用jsfl的话,就比较省事了,因为它要解决的只是画一些刻度线和创建一些文本。 这里我写了一个命令序列,使用起来非常简单,如图:

下载download
代码如下:
function drawRuler() { var _width = Number(result.width); var _height = Number(result.height); var _grad = Number(result.grad); var grad_length; var start = -1; dom.addNewLine({x:0,y:0},{x:_width,y:0}); dom.addNewLine({x:_width,y:0},{x:_width,y:_height}); dom.addNewLine({x:_width,y:_height},{x:0,y:_height}); dom.addNewLine({x:0,y:_height},{x:0,y:0}); for(var i=_grad*2; i<=_width; i+=_grad){ start ++; if((start % 10) == 0 || start == 0){ grad_length = _height/2.5; dom.addNewText({left:i-5, top:grad_length, right:i+5, bottom:grad_length+10}); dom.setTextString(start/10); dom.setElementTextAttr(’size’, 12); dom.setElementProperty(’alignment’, ’center’); dom.setElementTextAttr(’bold’, false); dom.setElementTextAttr(’italic’, false); dom.setElementTextAttr(’face’, ’Times New Roman’); } else if((start % 5) == 0){ grad_length = _height/3; } else { grad_length = _height/5; } dom.addNewLine({x:i, y:0}, {x:i, y:grad_length}); } dom.selectNone(); } var dom = fl.getDocumentDOM(); var lib = dom.library; var result = dom.xmlPanel("file:///ruler.xml"); if(result.dismiss == "accept") { fl.outputPanel.clear(); drawRuler(); } 其中xml文件:
<dialog buttons="accept, cancel" title="刻度尺"> <vbox> <hbox> <label value="宽: " control="width"/> <textbox id="width" value="450" size="5"/> <label value="高: " control="height"/> <textbox id="height" value="50" size="5"/> <label value="刻度: " control="grad"/> <textbox id="grad" value="5" size="5"/> </hbox> </vbox> </dialog>
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |