摘要:ArrayElementType:这是指定自己定义的数组中元素的类型,应该类似java中的泛型,用的不多(至少我就没用过,找资料的时候顺便找到的),类似的代码如下:[ArrayElementType("String")]public var arrayOfStrings:Array;这样,这个array就只能放String类型的对象。Bindable:毫无疑问这是最常用到的一个标签,几乎所有和数据打交道的地方都会用到这个标签。使用这个标签的属性一旦改变就会dispatch一个事件给监听器,可以选择后面带与不带参数两种方式:[Bindable]:不带参数就表示使用默认事件,那
阅读全文
随笔分类 - Flash/Flex/Air
摘要:应用程序域Application Domains 应用程序域Application Domain Placement 应用程序域的位置Application Domain Inheritance 应用程序域的继承Child Domains: Definition Versioning 子域:定义的版本管理Separate Domains: Preventing Conflicts 域分离:避免冲突Same Domain: Runtime Shared Libraries 相同的域:运行时共享库Getting Definitions Dynamically 动态获取定义Same-definiti
阅读全文
摘要:今天终于有时间把senocular上关于安全域和应用程序域的教程好好看了一遍。觉得人家老外就是专业:内容非常有条理且完整,图文并茂,举例也非常实用,真是教程中的精品。刚好我最近也在整理这方面的知识,于是决定把这篇翻译出来,方便国内的读者。对想要进阶理解Flash的运行机制的朋友,本文是不可多得的好材料。原文地址:http://www.senocular.com/flash/tutorials/contentdomains/简介如果你还没有与复杂的的安全域(security domain)和应用程序域(application domain)问题打过交道,那么你真是个幸运的家伙。当你在加载外部内容
阅读全文
摘要:前面已经把基本上嵌入字体的相关知识都梳理了一遍:如何在Flash IDE中嵌入字体如何在Flash IDE中使用嵌入的字体如何使用Flex SDK嵌入字体ActionScript如何使用嵌入的字体运行时共享字体库的两种方法下面讨论一下几种问题和可能性:Font类只有registerFont()方法,而没有unregisterFont()。不知道如果向系统中多添加一些字体定义以后会不会有内存占用的问题。把整个中文字库完全嵌入所增加的文件量大约在5M-10M,现在的视频Intro也差不多要3M-5M。随着宽带的进一步发展,把中文字库完全嵌入也并非不可能。在文字内容可知的情况下,不管用哪种方法,我们
阅读全文
摘要:现在我们了解了Flash字符嵌入的几种方法,也知道了怎么在IDE和ActionScript中使用嵌入字体。但是在开发项目中,通常会有很多swf文件(页面或模块),它们大都使用相同的字体。我们不得不在每个文件中重复嵌入字体。有没有办法打破单个swf的使用范围的限制呢?方法一是使用运行时共享(runtime share)技术。首先用前文讲述的方法建立一个"MyArial"字体,选择Export for ActionScript。然后选择Export for runtime sharing(为运行时共享导出),填入完整文件路径。最后发布fontLibrary.swf文件。这样我们
阅读全文
摘要:在上一篇使用字体元件的时候,我们接触到了TextField对象的embedFonts属性。在这里,我们进一步的探讨一下怎么在ActionScript中使用嵌入文本。一旦我们在Flash IDE中嵌入了字体,swf文件中就包含了该字体的矢量信息。ActionScript也可以使用这些信息。继续上文的例子,我们添加如下代码:var fmt:TextFormat = new TextFormat();fmt.font = "STZhongsong";//华文中宋fmt.size = 36;fmt.color = 0x336699;var txt:TextField = new T
阅读全文
摘要:大家都知道在Flash中嵌入中文字型有个最大的问题就是文件量的限制,所以也都知道在Flash中有选择的嵌入字型是一个有效的方法。但是对在ActionScript中嵌入字体的技巧就不一定完全了解了。最近因为项目的关系,让我好好把这方面问题做了一次梳理。作为温故知新,我们先来简单看看最简单常见的方法。上图是Flash CS4的文字相关界面。为一个动态文本框嵌入文件的基本方法是,在Character Embedding的弹出面板填入你所需要的字符。在上方的列表中是一些常用的字符范围。比如做Loading显示的,只要嵌入第四项Numerals,或许再多加一个“%”的符号就可以了。在动态文本框中嵌入的这
阅读全文
摘要:基本三角函数的计算:角的正弦值 = 对边 / 斜边角的余弦值 = 邻边 / 斜边角的正切值 = 对边 / 邻边角度制与弧度制的相互转换:弧度 = 角度 * Math.PI / 180角度 = 弧度 * 180 / Math.PI计算两点间距离:dx = x2 – x1;dy = y2 – y1;dist = Math.sqrt(dx*dx + dy*dy);缓动公式:sprite.x += (targetX - sprite.x) * easing;//easing为缓动系数变量sprite.y += (targetY - sprite.y) * easing;弹性公式:vx += (targ
阅读全文
摘要:import fl.transitions.*;import fl.transitions.easing.*;function showEffect(showMC) { var randomNum:Number = Math.floor(Math.random()*16); switch (randomNum) { case 0 : //横向卷帘 TransitionManager.start(showMC, {type:Blinds, direction:Transition.IN, duration:2, easing:None.easeNone, numStrip...
阅读全文
摘要:之前,在坛里看到过有朋友贴过不规则物体碰撞检测的类,这里,我再贴个一位牛老外写的一个类,经自己测试,用一个1500*1500的矢量图和一个 10*10的不短移动的小球进行碰状检测,CPU占用仅4%左右,超级高效!!!这里是代码:Actionscript:Java代码packagews.tink.display{importflash.display.BitmapData;importflash.display.BlendMode;importflash.display.DisplayObject;importflash.display.Sprite;importflash.geom.Color
阅读全文
摘要:今天看到了这样的语句: with(条件) { 语句; ... }以前没见过,有点奇怪。搜索中文居然没有解答,看来这个语句是相当基础了,可惜我真是不知,汗|||用英文搜索找到了,原来这个语句可以帮助我们call一个对象一次,多次访问它的属性和方法。例如:theContent_txt.text="the business is mine";theContent_txt._x=456;theContent_txt._y=345;可以写为:with(theContent_txt){text="the business is mine!";_x=456;_y=34
阅读全文
摘要:深复制是克隆一个数组或者object很有效的方法,深复制以后的对象中的新元素只是原始数据元素的备份,并无内在联系。两个对象的状态是完全一致的,但是元素存放的是不同的引用,指向不同的对象。 解决方案: 把你想要深复制的的数组或者object写进字节数组中,然后重置position的位置(把position置为0),最后重新从字节数组中读取出来。 详细解释: 这里是一个简单的工具类,封装了一个通过深复制实现的clone方法:package{ import flash.utils.ByteArray; public class DeepCopyUt...
阅读全文
摘要:ROLL_OVER与MOUSE_OVER的调度的区别可视组件在鼠标进入该组件时会调度MOUSE_OVER事件,即使是从其子组件移到该组件依然会触发该事件。可视组件在鼠标从不是其子组件的其余组件中进入该组件时会调度ROLL_OVER事件,直观来看,就是鼠标从外部移入该组件才调用。ROLL_OUT与MOUSE_OUT的调度的区别可视组件在鼠标移出该组件时会调度MOUSE_OUT事件,即使是移到该组件的子组件依然会触发该事件。可视组件在鼠标移到不是其子组件的其余组件中会调度ROLL_OUT事件,直观来看,就是鼠标移到该组件外部才调用。在含有子组件的可视组件上监听四个事件鼠标由外部进入母组件时能监听到
阅读全文
摘要:Flash Player 11引入了一个全新的功能是异步解码位图的功能,这个功能对某些类型的Flash应用会很有效,尤其是需要加载大分辨率的位图的相册或游戏会有显著效果。这个功能在Flash Player 11里的实现非常简单,需要使用flash.system.ImageDecodingPolicy这个类。这个类的使用,是通过flash.system.LoaderContext类中制定imageDecodingPolicy属性的值。这个属性的两个值描述了不同的策略(来自官方Help):ON_DEMAND:在需要时同步解码图像。此设置对较小的图像非常有用。ON_LOAD:在图像加载后立即异步解码
阅读全文
摘要:package{//像素级精确碰撞算法优化//代码:Aone//2009-10-30importflash.display.BitmapData;importflash.display.BlendMode;importflash.display.DisplayObject;importflash.geom.ColorTransform;importflash.geom.Matrix;importflash.geom.Point;importflash.geom.Rectangle;publicclassBitmapHitTestPlus{publicstaticvartileSize:int=
阅读全文
摘要:一、Flash游戏中ActionScript代码优化1、脚本运行速度的检测var started:Number = getTimer();……执行代码……var runTime=getTimer() - started;2、充分运用Flash Player新功能·Vector类与Array类;·新的绘图API·处理像素的新方法;·事件捕获和冒泡;·其他3、Vector类与Array类Flash Player 10引入了Vector类,其读写访问速度比Array类更快。var coordinates:Array = new Array();var
阅读全文
摘要:The Miner是由加拿大的Jean-Philippe Auclair(jpauclair.net)开发的Flash性能分析器(profiler),其前身为开源的FlashPreloadProfiler。The Miner虽然现在已“沦为”商业软件,但其个人非商业用途(比如学习研究,开源项目)仍可以免费自由下载使用。本文是应jpauclair之邀,希望通过这篇简单的安装使用教程,来推广The Miner的简体中文版。The Miner是完全绿色的软件/类库,提供两种安装使用模式:(一)使用方法一,使用SWC直接嵌入TheMiner到最终编译的SWF中。1. FlashDevelop新建工程,
阅读全文
摘要:第一篇:基本应用在塔防类、空战类游戏中,经常会出现同屏幕有很多对象的情况(如子弹)。而如果使用MovieClip来实现的话,当数量太多的时候,就会占用太多资源,令程序运行很慢。这个时候,可以通过使用图像缓冲来替代。同时,本文所描述的实现思路,也是一种将数据和显示分开进行的方法。在很多的游戏设计中经常会用到。我们以同屏幕500个子弹为例,来看一下图像缓冲的实现方法。首先,来看一下总体的程序思路1.主场景使用名为bitmapfill的BitmapData,通过graphics.beginBitmapFill来进行全场景填充。这样,我们就可以通过enterFrame事件,定期刷新bitmapfill
阅读全文
摘要:AS3代码 (1)LoaderLoader类可用于加载SWF文件或图像(JPG、PNG或GIF)文件。使用load()方法来启动加载。被加载的显示对象将作为Loader对象的子级添加。(2)URLLoaderURLLoader类以文本、二进制数据或URL编码变量的形式从URL下载数据。在下载文本文件、XML或其它用于动态数据驱动应用程序的信息时,它很有用。URLLoader对象会先从URL中下载所有数据,然后才将数据用于ActionScript。它会发出有关下载进度的通知,通过bytesLoaded和bytesTotal属性以及已调度的事件,可以监视下载进度。在加载非常大的视频文件(如FLV的
阅读全文
摘要:flash flex as3 类库下面是非常有用的类库,找到他们的时候我兴奋的不得了APIs、Libs、Components1、as3ebaylibhttp://code.google.com/p/as3ebaylib/2、as3youtubelibhttp://code.google.com/p/as3youtubelib/3、as3flickrlibhttp://code.google.com/p/as3flickrlib/4、Yahoo ASTRA Flash Componentshttp://developer.yahoo.com/flash/astra-flash/5、faceboo
阅读全文

浙公网安备 33010602011771号