随笔分类 - 12.Flex/Flash/AS3.0
摘要:本周听到公司其它项目组同事在讨论一个小需求:给定3个点(其实是飞机经过的航站,比如:从浦东-西安-北京),在UI上生成一段曲线,用来示意飞机的路线图(其实用直线我觉得也能将就,反正只是示意,只是大家觉得直线太out,不美观),晚上无事,尝试了一下:有二个方案:1、椭圆(很快被自己给否定了,椭圆的标准方程 (x-m)^2/(a^2) + (y-n)^2/(b^2)=1,有m,n,a,b 四个未知数,3个点无法唯一确定,如果把圆心定在页面中心,理论上可以解决,但是开平方也是比较繁琐的)2、贝塞尔曲线根据:(贝塞尔曲线)喂鸡百科的解释:二次标准方程为:正好以前在学习flash时也研究过,所以决定用它
阅读全文
摘要:先看效果:(这个只是原型,简陋了点)功能:双击图片或拖动右侧的滑块可实现图片的放大,鼠标按下不放可平移图片。应用场景:目前各地铁、医院、大型商场、机场均有单点触摸查询屏,用这个功能可以实现用户的简单自助地图导航。技术含量:这个,真木有!唯一要注意的是,flash中任何物体的"基准注册点"均为左上角的顶点,且没办法修改(注:所谓基准点是指不论是缩放,还是旋转,都是以这个点为参考原点。)这个很不爽,直接影响放大效果,那么本示例中的“以中心为基点放大”是如何实现的呢?请参看Flash/Flex学习笔记(51):3维旋转与透视变换(PerspectiveProjection)一文中
阅读全文
摘要:关于flex中动态加载Module的文章,网上有很多,但多半是基于flex3的,如果在flash builder/flex4中按他们所提供的方法去做,最后将module加载到容器中时,会报:null object reference错误。经过多番摸索,发现只能在ready回调中,以Object这种基本类型使用,不能强制做任何类型转型,方能正常加载到容器,并与加载后的实例交互(虽然这样flash builder的IDE环境中,无法智能代码提示),原因不明!开始吧,先创建一个mxml Module,命名为:MyModule.mxml<?xml version="1.0"
阅读全文
摘要:flex4中推荐使用spark组件来布局,所以在工具箱里把HDividedBox,VDividedBox这二个非常有用的东东给隐藏掉了,只能手动在source视图下手动写标签,如下:<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library
阅读全文
摘要:用iphone或itouch登录过微薄的同学们想必都会发现:登录一些手机版网站(比如微薄时),表单中的输入框会自动放大,以方便用户输入,等输入完成后,页面会再次缩小到正常状态。在flex开发过程中,有时也会遇到一些输入项很多的表单,可以借鉴iphone上的这种体验,基本思路就是:将整个容器放大,以适应屏幕,然后将获得焦点的文本框定位到屏幕中央。下面是演示:当UserName与PassWord文本框获得焦点时,表单(其实就是panel)会自动放大,并重新定位,最终将获得焦点的文本框定位在屏幕中央,以方便输入。点击checkbox或login按钮时,会恢复正常大小。主要代码:<?xml ve
阅读全文
摘要:前几天看到有园友写了一篇“ flash查看对方qq是否在线 ”,正好今天有一个朋友搞flash全站,想使用这个功能,但是有些小要求,点击图标后,要求弹出QQ对话框,于是改进了一下:package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.globalization.StringTools; import flash.net.URLRequest; import flash.net.navigateToURL; import flas
阅读全文
摘要:如题,在FluorineFx的实时视频交互应用中,如果页面长时间不动,可能会导致flash中的NetConnection对象断开连接,其原因我没有深入研究,不过应该能猜出大概(以下结论未必证实,不保证一定正确):FluorineFx是做为一个HttpModule而嵌入asp.net网站中的,如果长时间不动,页面与服务器之间的session过期可能会导致FluorineFx与客户端的连接也一并关闭。解决办法:在嵌入flash的页面中,随便用ajax定时(比如每5分钟)服务端随便发点数据过去(哪怕只是一个字符也行),以证明自己还活着。另外在使用中还发现一个现象:通常我习惯于把FluorineFx的
阅读全文
摘要:俗话说:拳不离手,曲不离口。学过的技能不用,放长了就生疏了,今天以前的同事问我:用户改变浏览器窗口尺寸时,flash中的图片如何重新定位于4个角上。花了近一刻钟才回忆想来:stage有Resize事件,呵呵代码如下:1.先把加载图片的逻辑封装一下package { import flash.display.Sprite; import flash.display.Loader; import flash.display.LoaderInfo; import flash.net.URLRequest; import flash.events.Event; import flash.display
阅读全文
摘要:注:AVM的GC机制确实有些诡异,不象CLR可以通过GC.Collect()显示调用,中午在天地会闲逛时,发现了下面的这二个方法,转载一下原文:http://bbs.9ria.com/viewthread.php?tid=24027&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D12&page=1方法1:方法2:测试代码:通过System.totalMemory的结果可以清楚的看到内存得以释放,window任务管理器也能够看到有变化哦,原理也可能和异常有点关系.
阅读全文
摘要:原文:http://www.flashrealtime.com/multicast-explained-flash-101-p2p/,讲解单播、多播不可多得的好文章,转载防被“墙”掉Multicast is one of the features of Flash Player 10.1 and it enables you to distribute NetStreams...
阅读全文
摘要:原文:http://www.flashrealtime.com/p2p-groupspecifier-explained-1/转过来防止被墙掉If you’ve tried my tutorial on creating a simple chat using P2P NetGroup in Flash Player 10.1, you might have been wonderin...
阅读全文
摘要:这其实是http://www.flashrealtime.com/file-share-object-replication-flash-p2p/中关于文件分享示例的改版,原文示例是基于flex的,我改成flash版本了(大致原理与上一篇完全相同):有三个基本类:1、P2PSharedObject.as 用于定义要分享的(图片)数据类2、LocalFileLoader.as 用于浏览本地图片并加载...
阅读全文
摘要:在fms4以前Adobe只允许在stratus中才能使用p2p功能。令人高兴的是,在最新发布的fms4中,p2p功能已经集成进来了,这将给实时视频类的应用带来更高的效率,adobe这次很给力!为了使用p2p,开发用的flex sdk至少要4.1以上(当然最高版本是代号为hero的4.5版本,可从adobe的官网下载),另外还需要fms4(同样可从adobe官网下载开发版本)。先上完整代码吧:在这段...
阅读全文
摘要:一篇很不错的讲解"利用flash player 10.1中的p2p特性实现文件共享"的文章,为防止原文被墙掉,转载于此,原始出处:http://www.flashrealtime.com/file-share-object-replication-flash-p2p/Object ReplicationObject Replication is the most lowest-level P2P ...
阅读全文
摘要:很多网站在上传用户头象时,除了传统方式上传外,都支持在线摄像头拍照并做简单编辑,完成之后再将图象数据提交到服务端(比如ASP.Net),这几天正好需要这个功能,研究了下,思路如下:1、先获取摄像头视频2、利用BitmapData.draw来对视频截图3、在截图上,放一个方块允许用户手动调整位置,同时允许截图做缩放4、用户调整完成后,对指定区域的BitmapData做copyPixes处理(即拷贝指...
阅读全文
摘要:转自: http://blog.sina.com.cn/s/blog_49b35d540100aks4.html ColorMatrixFilter--颜色矩阵滤镜(flash.filters.ColorMatrixFilter) 在颗粒等级上提供给你更好的控制方法。ColorMatrixFilter为 4行5列的多维矩阵(20个元素的数组)。图1是与ColorMatrixFilter等同的矩阵:...
阅读全文
摘要:晚上在逛天地会时,看到一个关于TweenLite的示例,觉得蛮实用的,整理了一下偷过来:)注:播放完后,鼠标猛击胸部即可重放:)思路点评:刚开始看到这个效果时,觉得应该蛮复杂的,后来看了代码之后,发现居然如此简单! 关键:先加载一张完整的图片,然后利用BitmapData的copyPixels功能,把每个小块的像素copy出来,形成一系列新的BitmapData(也就是一块块小图片),然后再利用T...
阅读全文
摘要:如果不考虑安全因素(指任何人都可连接FluorineFx进行视频录制,而不需要登录认证),其实服务端不用写一行代码,仅需要在apps目录下建一个子目录当作应用,以及在services-config.xml中配置一下rtmp的Channel即可下面这段flash客户端的as3代码,是从FluorineFx官方的Flash AS2示例修改而来的(当然:只一个示例,细节还有很多可优化的地方)界面:示例源...
阅读全文
摘要:对认证与授权没啥概念的新同学,建议先看下 .net中的认证(authentication)与授权(authorization),然后再继续。Flash/Flex在通过FluorineFx调用.Net中的方法时,同样也会遇到认证与授权问题,即:“是否随便一个阿猫阿狗都能来调用我的方法?”或者可以理解为:“调用我的方法前是否需要登录?” 这就是认证&ld...
阅读全文
摘要:在前一篇“FluorineFx:远程共享对象(Remote SharedObjects)”里,已经大致知道了在FluorineFX中如何使用RSO,这一篇将利用RSO完成一个简单的文本聊天室。原理:RSO对象中,创建二个属性:msg和online,分别用来保存"用户每次发送的聊天内容"以及"在线用户列表"运行截图:服务端代码:ChatApplication.csFlash客...
阅读全文