- 浏览: 131300 次
- 性别:
- 来自: 苏州
最新评论
-
lanliying:
主窗体报错Multiple markers at this l ...
Flex自定义事件 -
Alex丿:
12年的帖子,难得~。~
Flex编译参数设置
Flex中画图,有两种方法:
1、直接在canvas中画
private function init():void{ cav.graphics.lineStyle(1, 0x000000, 1, false); cav.graphics.lineTo(200, 200); } <mx:Canvas id="cav" width="300" height="300" />
2、在Sprite中画,然后将其添加到舞台中。所有显示对象都必须继承UIComponent类,但是Sprite并没有继承UIComponent,如果想显示Sprite,就先要把Sprite添加到UIComponent中,然后再添加到舞台中。
sprite = new Sprite(); sprite.graphics.lineStyle(1,0x000000,1,true); sprite.graphics.lineTo(event.localX, event.localY); ui = new UIComponent(); ui.addChild(sprite); cav.addChild(ui);
下面例子实现了一个简单的画板,只实现了画线、撤销、还原、清屏等简单的部分功能,目的是研究Flex画板的原理。
private var sprite:Sprite; //作画的载体 private var ui:UIComponent; //包装Sprite,然后才能添加到舞台上 private var index:int = 0; //作画的操作数,也是添加到舞台的每个对象的索引 private var flag:Boolean = false; //表示鼠标是否按下 private var arr:Array = new Array(); //被撤销的对象列表,以备还原 /** * 按下鼠标,初始化画笔 */ protected function cav_mouseDownHandler(event:MouseEvent):void { sprite = new Sprite(); sprite.graphics.clear(); sprite.graphics.lineStyle(1,0x000000,1,true); sprite.graphics.moveTo(event.localX, event.localY); sprite.graphics.lineTo(event.localX, event.localY); ui = new UIComponent(); ui.addChild(sprite); cav.addChildAt(ui, index++); flag = true; } /** * 如果鼠标按下,并滑动,开始画画 */ protected function cav_mouseMoveHandler(event:MouseEvent):void { if(flag == true){ sprite.graphics.lineTo(event.localX, event.localY); } } /** * 停止画画 */ protected function cav_mouseUpHandler(event:MouseEvent):void { flag = false; } /** * 撤销 */ protected function btnUndo_clickHandler(event:MouseEvent):void { if(index <= 0){ return; } arr.push(cav.getChildAt(--index)); cav.removeChildAt(index); } /** * 还原 */ protected function btnRedo_clickHandler(event:MouseEvent):void { if(arr != null && arr.length > 0){ cav.addChildAt(arr.pop(), index++); } } /** * 清屏 */ protected function btnClear_clickHandler(event:MouseEvent):void { if(index >= 0){ cav.removeAllChildren(); index = 0; } if(arr != null && arr.length > 0){ arr.splice(); } } <mx:VBox id="vb" width="100%" height="100%"> <mx:HBox> <mx:Button id="btnUndo" label="撤销" click="btnUndo_clickHandler(event)" /> <mx:Button id="btnRedo" label="还原" click="btnRedo_clickHandler(event)" /> <mx:Button id="btnClear" label="清屏" click="btnClear_clickHandler(event)" /> </mx:HBox> <mx:Canvas id="cav" width="500" height="500" backgroundColor="#FFFFFF" mouseDown="cav_mouseDownHandler(event)" mouseMove="cav_mouseMoveHandler(event)" mouseUp="cav_mouseUpHandler(event)"/> </mx:VBox>
发表评论
-
清除flash player缓存-SharedObject
2012-06-18 14:02 2117http://www.macromedia.com/suppo ... -
Flash Builder4.6破解
2012-06-10 13:41 5具体步骤如下:1.到Adobe官网下载FlashBuilder ... -
SharedObject
2012-04-11 16:05 1565共享对象可以简单理解为类似浏览器的cookies,可以将一定 ... -
RollOver和MouseOver的区别
2012-03-20 10:22 1645共同点:都是针对鼠标的进入和进出事件。 不同点: 1、 ... -
wmode参数详解,对flash以及html元素的影响(转载)
2012-03-08 14:16 3530在页面中经常会用到需 ... -
Flex自定义事件时为什么要重载clone()方法(转载)
2012-02-19 17:35 1354声明:转载 以前在学习自定义事件的时候一直不太明白为什 ... -
Datagrid动态添加列
2012-02-19 17:34 1856Datagrid的列是一个数组,动态添加列的方法是创建一个新的 ... -
给特效加上缓动效果
2012-02-17 11:21 980给特效的结束前加上缓动效果,比如模拟篮球落地->弹起-& ... -
BitmapData
2012-02-17 11:21 1838可以使用BitmapData对象加载图片,BitmapData ... -
TitleWindow自定义标题栏
2012-02-17 11:21 1578应用场景: TitleWindow宽度固定,titl ... -
Image拉伸
2012-02-17 11:21 1220应用场景: 当使用Image加载图片或swf文件时, ... -
TextArea设置文本的局部样式
2012-02-16 13:21 3307var tr:TextRange = new TextR ... -
HtmlText中加入超链接
2012-02-16 13:20 1180以下是Label中加入超链接的例子: prote ... -
Flex滤镜
2012-02-16 13:20 1728使用滤镜可以改变文本和控件显示效果,Flex滤镜如下: ... -
Flex字体
2012-02-16 13:20 16511、嵌入字体 嵌入字体会把字体文件编译到应用中,所以 ... -
Flex的Combobox组件
2012-02-16 13:19 84811、显示提示 设置Prompt ... -
Flex中ToolTip的使用
2012-02-15 10:12 26341、为ToolTip加入动画效 ... -
Flex常用特效
2012-02-15 10:12 1013Flex常用特效列表: -
Flex回调函数
2012-02-15 10:12 1162应用场景:父子窗体之间的通信,比如想把弹出窗口中的数据传给弹出 ... -
Flex内存优化(转载)
2012-02-15 10:12 13961. 使用合适的显示对象,对于非交互的简单形状用Sha ...
相关推荐
一个简易画板的实现 有简单的画图,画图形,改颜色功能
用JavaScript和canvas实现一个简易画板,支持导出为图片
css3+html5运用javascript做一个简易画板代码.docx
使用python做的一个简易画板,能够实现画点、画直线、画多边形、画椭圆等功能,其中包含了对Tkinter的操作以及对于GUI的操作,希望对python初学者能够有所帮助
NULL 博文链接:https://coco-young.iteye.com/blog/940164
js 使用canvas制作一个简易的画板
这是我初学qt编写的简易画板程序,程序结构和算法不算优秀,请多多指教
本代码是编写的一个java简易小画板 计算机图形学
易语言简易画板源码,简易画板,公用接口_寻找文件扩展,公用接口_复制目录,公用接口_数组到表格,公用接口_生成编号,公用接口_生成密码,公用接口_时间到文本,公用接口_数据到十六进制文本,公用接口_十六进制文本到数据,...
使用Android的自定义View写的Android画板程序,主要使用DrawPath()实现,需要的童鞋可以下来看看。
提供源代码 直接可运行 提供了比较全面的画板功能
用Java实现的图形界面的简易画板程序,能够话出一般常见的形状
java简易画板,描述了用java实现画板的一些简易的功能,便于初学者快速上手了解如何运用java实现一些功能
一个简易画板,可画矩形、椭圆、三角形、自由曲线、多边形、立方体。可调整线框颜色和填充颜色。可调整线框粗细和线框类型。
VC++课程设计,windows简单画板,可以画直线、矩形、椭圆、改颜色、线条;清除,保存打开功能。
用VC开发工具编写的MFC简易画板,可以实现类似与windows自带画板的一些功能
用qt做的简易画板,能够实现图形,颜色,线宽选择。用鼠标移动操作。
IOS简单画板 一个简单画板的实现
c#简单画板程序 有c#代码编写的简单画板程序 代码类资源
java画板 比较简单的画板 ,初学者可以借鉴下!java画板 比较简单的画板 ,初学者可以借鉴下!java画板 比较简单的画板 ,初学者可以借鉴下!