`
army520
  • 浏览: 4490 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

flex 电子白板,共享对象

    博客分类:
  • flex
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="drawInit()"
layout="vertical">

<mx:Script>
<![CDATA[
import mx.core.UIComponent;
import mx.controls.Alert;

private var shape:String;
private var flag:Boolean;
private var sx:Number;
private var sy:Number;
private var ex:Number;
private var ey:Number;
private var sprite:Sprite;
private var uic:UIComponent;
private var i:int;
private var arr:Array=new Array();
/**
* 初始化
* */
private function drawInit():void
{
myCanvas.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
myCanvas.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
myCanvas.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
private function onMouseDown(e:MouseEvent):void
{
flag=true;
sx=myCanvas.mouseX;
sy=myCanvas.mouseY;
sprite=new Sprite();
uic=new UIComponent();
myCanvas.addChildAt(uic, i++);
uic.addChild(sprite);
}
private function onMouseMove(e:MouseEvent):void
{
if (flag)
{
draw(shape);
}
}
private function onMouseUp(e:MouseEvent):void
{
flag=false;
}
private function setShape(str:String):void
{
shape=str;
}
/**
* 画线
* */
private function draw(s:String):void
{
ex=myCanvas.mouseX;
ey=myCanvas.mouseY;
if (s == "line")
{
sprite.graphics.clear(); //清除
sprite.graphics.lineStyle(hs.value, cp.selectedColor); //设置样式
sprite.graphics.moveTo(sx, sy); //开始坐标
sprite.graphics.lineTo(ex, ey); //移动坐标

}
}
/**
* 撤销
* */
private function undo():void
{
if (i <= 0)
{
return;
}
//放入撤销集合
arr.push(myCanvas.getChildAt(--i)); //添加元素到最后 ,unshift添加元素到最前
myCanvas.removeChildAt(i);
}
/**
* 重做
* */
private function redo():void
{
if (arr.length <= 0)
{
return;
}
//从撤销集合取出
myCanvas.addChildAt(UIComponent(arr.pop()), i++); //arr.pop()表示删除最后一个,并返回 ,shift表示删除第一个元素,并返回
}
]]>
</mx:Script>
<mx:TabNavigator width="768"
height="401">
<mx:VBox label="FLEX画图"
width="100%"
height="100%">
<mx:Canvas width="100%"
   height="315"
   id="myCanvas"
   backgroundColor="#006699">
</mx:Canvas>
<mx:HBox width="100%"
height="44"
verticalAlign="middle">
<mx:Button label="画直线"
   click="setShape('line')"/>
<mx:Button label="撤销"
   click="undo()"/>
<mx:Button label="重做"
   click="redo()"/>
<mx:HSlider id="hs"
value="3"/>
<mx:ColorPicker id="cp"
selectedColor="red"/>
<mx:Button label="清屏"
   click="myCanvas.removeAllChildren();i=0"/>
</mx:HBox>
</mx:VBox>
</mx:TabNavigator>

</mx:Application>
分享到:
评论

相关推荐

    Flex学习—关于Shareobject对象(本地共享对象)

    本文将深入探讨Flex中的一个重要组件——ShareObject,也称为本地共享对象,它允许应用程序在用户计算机上存储数据,实现数据的持久化。 ShareObject是Flex提供的一种轻量级的数据存储解决方案,它类似于Web浏览器...

    Flex电子相册2

    【Flex电子相册2】是一款基于Adobe Flex技术的原创电子相册应用,完全由开发者自主编写代码,没有依赖外部的SWC库。该应用的核心功能是展示一组图片,确保不同尺寸的图片能按照统一的比例缩放,保持图像的原始形状...

    ArcGIS Flex API 中的 Flex 技-面向对象

    ### ArcGIS Flex API 中的Flex技术—面向对象详解 在探讨ArcGIS Flex API与面向对象编程的融合之前,我们先来简述一下Flex技术的基本概念及其在地理信息系统(GIS)领域的应用价值。Flex是一个开源的框架,由Adobe...

    flex shareObject 本地共享

    仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可

    带3D效果Flex电子相册

    带3D效果Flex电子相册,用于图片展示,自适应屏幕大小。

    Flex电子教案PPT

    Flex电子教案PPT涵盖了一系列关于Flex开发平台的关键知识点,它是一种用于构建富互联网应用程序(RIA)的框架,主要由Adobe公司开发。以下是这些知识点的详细解释: 1. **Flex简介**:Flex是一个开源的开发框架,...

    flex 电子表格 源码

    在源码中,我们可以看到这些功能的实现主要依赖于ActionScript,它是Flex的编程语言,具备面向对象的特性,使得构建复杂组件变得可能。源码中的类和方法设计,如单元格渲染、数据绑定、事件处理等,都是实现电子表格...

    Flex数据共享与压缩

    "Flex数据共享与压缩"的主题聚焦于如何在Flex应用中有效地管理和存储本地数据,特别是针对XMLList等大数据结构。XMLList是一种常见的数据结构,它允许我们方便地操作XML数据。然而,由于Flex本地共享空间的存储限制...

    flex访问java对象

    根据给定的信息,本文将详细解释如何通过Flex访问Java对象,并提供一个具体示例来帮助理解整个过程。本文主要分为以下几个部分:环境搭建、Java类编写、配置文件编写、Flex应用编写以及最终运行效果。 ### 一、环境...

    flex电子教案教材

    Flex是Adobe公司开发的支持RIA(Rich Internet Applications)开发和部署的技术产品,主要面向企业级的应用。借助于Flex强大功能,能够开发出增强更富有交互性和标签的用户界面。 对于初识Flex的开发者,总是对Flex...

    Flex电子教案(PPT)

    Flex电子教案(PPT)是一套详尽的教程资源,主要针对Adobe Flex技术进行深入讲解。Flex是一种开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,RIAs),它基于ActionScript编程语言和MXML标记...

    FMS+FLEX-----使用远程共享对象实现多人实时在线聊天

    FMS+FLEX-----使用远程共享对象实现多人实时在线聊天 说明:这是我在网上看到的,收集并整理了一下。 因为我的积分不多了,所以虽然不是原创,但还是要一点资源分的。大家见谅。 压缩包中有说明文档和源码。说明...

    flex 面试题flex

    【Flex面试题】Flex面试题主要涵盖Flex的基础概念、开发框架、MVC模式的应用、内存管理、垃圾回收机制、前端性能优化以及与后端通信等多个方面。以下是对这些知识点的详细解析: 1. AS2与AS3的区别: AS2...

    flex电子教案ppt

    这个“flex电子教案ppt”是一个专门为《flex完全自学手册》设计的教学资源,旨在帮助教师和学生深入理解Flex技术。 在Flex中,主要知识点包括: 1. **Flex架构**:Flex应用的基础是MXML和ActionScript 3.0,两者...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    flex blazeds 传递对象实例

    本文将深入探讨“Flex BlazDS 传递对象实例”这一主题,这涉及到Flex客户端与BlazeDS服务器之间的数据交互。 Flex是一种开源的、基于ActionScript的框架,用于创建具有动态用户界面的RIA。它主要用在Adobe Flash ...

    上一篇的flex的远程对象调用,flex和spring集成分页的jar和截图

    标题中的“flex的远程对象调用”指的是在Adobe Flex应用程序中使用Remote Object(RO)服务进行远程通信的技术。Flex是一个开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA)。通过RO服务,Flex应用...

    Flex电子相册旋转4

    Flex电子相册旋转4是一款基于Adobe Flex技术开发的动态相册应用,主要用于展示图片,具有旋转效果,为用户带来独特的视觉体验。Flex是Adobe推出的开源框架,主要用于构建富互联网应用程序(RIA),它基于...

    flex blazeds glassfish远程对象操作实例4

    工作录制,语言为成都方言 主要实际操作Flex远程对象实现

    flex blazeds glassfish远程对象操作实例5

    工作录制,语言为成都方言 主要实际操作Flex远程对象实现

Global site tag (gtag.js) - Google Analytics