随笔分类 -  ActionScript3

ActionScript3相关内容
摘要:一个Flash中通过AS3代码的Loader对象加载另一个SWF文件,并访问其中的文档类中的方法。简单示例:主文件:Main.fla, Main.as被调用的文件:called.swf, Called.as主文件Main.as:package{ import flash.display.Sprite; import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; public class Main extends Sprite{ private var loader:Loader; pu 阅读全文
posted @ 2014-03-31 17:44 小小有 阅读(624) 评论(0) 推荐(0)
摘要:试过蔡勒(Zeller)公式 和基姆拉尔森计算公式, 发现还是一个改进版的基姆拉尔森计算公式给力!基姆拉尔森计算公式算法算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。改进版代码:private function getDayOfWeek(year:int,month:int,day:int):int{ var... 阅读全文
posted @ 2014-03-11 15:38 小小有 阅读(393) 评论(1) 推荐(0)
摘要:在使用FusionCharts 的时候 ,发现了一个非常奇怪的问题, 一旦在页面上加入一个chart组件, 不管给不给数据, 从后台取到的数据, 中文就全变成了乱码. 由于我使用的是object array的数据源方式, 不能和xml一样设置数据源文件的编码, 最后, 各种尝试各种搜索, 终于找到了结症所在! 解决办法就是: 获取数据之前先设置系统使用的字符编码 System.useCodePage = false; //页面不使用系统默认的编码方式 乱码果然消失了! 经过研究, 发现,chart在加载以后, 会自动去设置一次数据源, 而在每次加载数据源之前的时候,Fusion... 阅读全文
posted @ 2013-12-27 15:09 小小有 阅读(431) 评论(0) 推荐(0)
摘要:大家都知道as3里面是不能直接定义多维数组 所以不能直接用arr[2][3]这样的方法来获取数组里面的值。如何才能创立多维数组了?方法如下先定义一个数组var MapData:Array=new Array;然后把数组的每个元素都定义成数组。比如:for(var j:uint=0;j<50;j++){ MapData[j]=new Array(); for(var i:uint=0;i<10;i++){ MapData[j][i]=i; } }然后就可以直接调用拉,试试trace(MapData[10][10]);或者用 var array:Arra... 阅读全文
posted @ 2013-11-26 11:37 小小有 阅读(1267) 评论(0) 推荐(0)
摘要:本示例的目的是在Flash Professional里创建自定义预加载器SWC,并扩展SparkDownloadProgressBar类在Flex 4应用程序中使用。 预加载器显示加载进度百分比,也包括加载了几个RSL,之后加载完成会显示初始化进度条。View Demo Preloader App (right click for source view) preloader预加载器先略过,让我们看看进度条是如何反应FLEX程序加载进度:接下来的屏幕截图显示被加载的RSL的进度。最后初始化进度在Flash Pro中创建预加载器Preloader SWC 在Flash professiona.. 阅读全文
posted @ 2013-10-18 14:45 小小有 阅读(411) 评论(0) 推荐(0)
摘要:你是as3老鸟吗?如果以下内容对你有莫大的帮助,请顶下! 一:加载swf库中的图片 new 的过程就是图片解压缩的过程。处于 Class 状态时,图片占用的内存和 SWF 文件中这个图片占用的磁盘空间一致,而一旦通过 new 解压成无压缩的 BitmapData 后,占用的内存会急剧增加。 不管是 PNG、JPG,还是矢量动画,new 之后的体积都会比原来大得多,因此不要随便将资源实例化后暂存。这个实例化过程理所当然是比较费时的,可能会出现卡的现象,但预先实例化,内存占用上是有很大区别的。 此外,如果选择设置 LoaderContext 使得全部资源加载到同一个域的话,有冲突的链接... 阅读全文
posted @ 2013-08-26 15:36 小小有 阅读(212) 评论(0) 推荐(0)
摘要:flex系统要实现普通html系统刷新页面保留登录信息,一个方法是借用js来操作cookie来实现,下边是一个实现的例子:第一步:在主index.html里边加上两个js方法 //获取cookie内容 function GetCookie(name) { var arr = document.cookie.match(new RegExp("(^|)"+name+"=([^;]*)(;|$)")); if(arr != null) ... 阅读全文
posted @ 2013-06-20 14:12 小小有 阅读(671) 评论(0) 推荐(0)
摘要:AS3核心类中没有ToolTip类,Flex中的ToolTip类没法用在AS3工程中,Aswing的JToolTip不错,不过如果仅仅为了使用这一个类而导入Aswing就不太明智了。由于最近的项目需要用到ToolTip,我就索性自己写了一个,特与大家分享。package { import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; import flash.displa... 阅读全文
posted @ 2013-06-18 15:02 小小有 阅读(415) 评论(0) 推荐(0)
摘要:mouseEnabled与mouseChildren都是用来确定对象是否与鼠标之间进行交互。mouseEnabled是InteractiveObject类的一个属性,InteractiveObject类是用户可以使用鼠标和键盘与之交互的所有显示对象的抽象基类。我们不能直接实例化InteractiveObject类。mouseChildren是DisplayObjectContainer类的一个属性,DisplayObjectContainer类是InteractiveObject类的子类,DisplayObjectContainer 类是可用作显示列表中显示对象容器的所有对象的基类。mouse 阅读全文
posted @ 2013-05-09 15:13 小小有 阅读(1770) 评论(0) 推荐(0)
摘要:这两类事件看起来是一样的,都是在鼠标经过组件时触发这个事件,但是如果要是真的一样的话,又不可能搞两个这样的,因此它们还是有些区别的,区别的地方就在于如果一个组件包含了另外一个组件,例如一个Canvas中包含一个按钮,那么ROLL_OVER和ROLL_OUT事件只会在移入或移出Canvas时触发,而在Canvas里的Button上时,ROLL_OVER和ROLL_OUT是不会触发的,而是触发MOUSE_OVER和MOUSE_OUT。 阅读全文
posted @ 2013-03-21 14:32 小小有 阅读(316) 评论(0) 推荐(0)
摘要:新建一个元件,名称为picpic.addEventListener (MouseEvent.MOUSE_WHEEL,zoomHandler);function zoomHandler (e:MouseEvent){if (e.delta > 0){ e.currentTarget.scaleX += 0.1; e.currentTarget.scaleY += 0.1; e.currentTarget.x=mouseX-e.localX*(e.currentTarget.scaleX); e.currentTarget.y=mouseY-e.localY*(e.currentT... 阅读全文
posted @ 2013-03-20 15:04 小小有 阅读(638) 评论(0) 推荐(0)
摘要:当网络速度较慢时,如果在下载过程中界面没有任何的提示或变化,用户会感到烦躁,甚至抱怨开发商,这不是我们所希望的。进度条是很好的转移注意力的方式,它让用户感觉到程序在正常运转,可以耐心地等下去。Preloader就是这样一个类,它负责监听Application、RSL和模块的下载和初始化进程的状态,包括对下载过程的监听,并且根据下载的状态生成相应的初始化进程事件,包括:FlexEvent.INIT_PROGRESSFlexEvent.INIT_COMPLETEProgressEvent.PROGRESSEvent.COMPLETEPreloader 虽然发布初始化进程事件,但是并不直接显示初始化 阅读全文
posted @ 2013-03-05 15:44 小小有 阅读(1692) 评论(0) 推荐(0)
摘要:Flex中的任何显示对象都能保存为图片,下边提供一个图片工具类,包括获取图片流,和直接保存PNG图片到本地的方法。package{ import flash.display.BitmapData; import flash.net.FileReference; import flash.utils.ByteArray; import mx.controls.Alert; import mx.core.UIComponent; import mx.graphics.codec.PNGEncoder; public class ImageU... 阅读全文
posted @ 2013-01-31 17:51 小小有 阅读(1028) 评论(0) 推荐(0)
摘要:最近在项目中需要用到渐变色来表示一些数值,本来以为这种方法网上估计一搜一箩筐,后来却发现几乎没有解决这个问题的方法,不过最后功夫不负有心人,终于在javaEye中找到了关于在AS3下生成颜色渐变值的办法,下面我把代码贴出来,供大家学习使用,同时也感谢javaEye中的“蒙太奇”大哥,不多说了,以下是代码:package Library.Tools{public class ColorGradient{public function ColorGradient(){}/** * 输入一个颜色,将它拆成三个部分: * 红色,绿色和蓝色 */public static function retrie 阅读全文
posted @ 2013-01-26 14:53 小小有 阅读(257) 评论(0) 推荐(0)
摘要:最近在使用FLEX进行产品过程中,遇到这样一个BUG:一个远程调用的返回结果,被两个方法处理了。经过不断调试后发现,在整个应用的代码中,使用了RemoteObject单实例模式,但由于产品功需要,对同一个远程方法在不同的代码中,又需要进行不同的处理,分别定义了AbstractOperation、添加不同的监听,例如: 在A.as中,对远程方法OPER_SEARCH_CURRENT_ALERT定义了如下监听:var operGetActiveAlert:AbstractOperation=RPCService.getInstance().getAlertService().getOpe... 阅读全文
posted @ 2013-01-18 17:38 小小有 阅读(808) 评论(0) 推荐(0)
摘要:返回XML对象的字符串表示形式。此转换的规则取决于XML对象包含的是简单内容还是复杂内容:1、 如果XML对象包含简单内容,toString()方法将返回XML对象的字符串内容,但从中除去了以下内容:开始标签、属性、命名空间声明和结束标签。2、 如果XML对象包含复杂内容,toString()方法将返回XML编码字符串,该字符串表示完整的XML对象,包括开始标签、属性、命名空间声明和结束标签。若要每次都返回整个XML对象,请使用toXMLString()方法。返回XML对象的字符串表示形式。与toString()方法不同,toXMLString()方法始终返回XML对象的开始标签、属性和结.. 阅读全文
posted @ 2013-01-18 17:36 小小有 阅读(643) 评论(0) 推荐(0)
摘要:本人原创翻译,翻译来源:http://blogs.adobe.com/tomsugden/2010/04/optimizing_the_flex_datagrid_f.html#more 当数据源发生变动时,DataGird默认会完全重画自己,在有些情况比如条目的渲染器可能需要根据需要扩大或缩小的时候,这是很有意义的,但是在其他情况下这就有问题了。如果数据源内容变化频繁,比如一个实时的价格表格,就可能出现过度渲染和增加CPU负担的问题。这篇博客介绍了一个简单的技巧,通过重写默认行为处理来更好的支持数据频繁更新降低CPU负担。图1:红框是重绘区域,左边是默认表格,右边是经过完善的表格你可以下载. 阅读全文
posted @ 2013-01-08 10:39 小小有 阅读(881) 评论(0) 推荐(0)
摘要:来源:http://blogs.adobe.com/tomsugden/2009/12/writing_genuinely_reusable_fle.html在大型企业项目里,经常要为Flex 类库写一系列可重用的组件。理论上来说,相同的组件总可以被Flex 或 AIR客户端的modules 和 sub-applications复用,带来高度一致性和快速开发的好处。然而在实际中,有一些错误用法限制了组件的重用性。本文阐述了是什么使得组件真正可重用,并强调了一些在Flex SDK 里使用的技术,以此来编写出更具重用性的自定义组件。什么方法令组件可以真正重用?组件重用性存在不同等级。一个真正可以重 阅读全文
posted @ 2013-01-07 15:47 小小有 阅读(314) 评论(0) 推荐(0)
摘要:超棒的渐变圆角矩形特效,可自行改变圆角的度数和渐变效果,值得收藏。源码效果:AS3源码:var myMatrix:Matrix = new Matrix();myMatrix.createGradientBox(250, 250,0.6, 0, 150);var myColors:Array = [0xFFCC66,0xFF3300 ];var myAlphaS:Array = [100, 100];var myRalphaS:Array = [0, 225];graphics.beginGradientFill(GradientType.LINEAR, myColors, myAlphaS, 阅读全文
posted @ 2012-12-26 10:39 小小有 阅读(461) 评论(0) 推荐(0)