
AS3
文章平均质量分 86
喵大斯
精通前端(react、vue栈)、游戏(AS3、Egret)开发10余年。对游戏、动画有执着的兴趣。擅长开发各类型web、小程序、微信、工具、OA、CRM、后台管理、数据服务、企业应用、FLASH游戏、FLEX应用等,可组织各类型应用开发的技术架构方案。
从事过前端讲师工作,对教育也有一定的理解,欢迎有开发、教学方面需求的合作。
展开
-
使用Flex SDK4.5.1创建“不规则形状”的Air透明窗体
http://hi.baidu.com/%B0%CB%CD%F2%C0%EF/blog/item/862c30fcadcfdf59d7887da8.html转载 2012-04-19 15:32:58 · 711 阅读 · 0 评论 -
制作自定义的 Flash 面板组件
Flash 有很多内置面板,调色面板、对齐面板、元件库面板等等。有时为了工作方便,我们需要自己编写一些脚本加快处理一些重复性较大的工序,这里所说的“脚本”就是 JSFL。JSFL 全称 Flash JavaScript,它类似于 Microsoft Word 中的“宏”(虽然我不太懂那东西),帮助用户在创作环境中执行重复性任务、或者生成一些特效什么的,但这并不是我们这次所说的重点。我们原创 2013-04-28 15:11:28 · 2000 阅读 · 0 评论 -
如何发布Flash ZXP/MXP扩展
要发布你自己的 ZXP/MXP 的 Flash 扩展包,你得确保以下条件(以下针对 Adobe Extension manager CS6):1、系统是否安装 Adobe Extension manager,安装 Flash 后默认都会有。2、创建一个功能扩展安装文件(文件名以 .mxi 结尾的 XML 文档内容文件),并且准备好你发布好的 SWF 文件3、在功能扩展管理器中,原创 2013-04-28 14:53:45 · 2100 阅读 · 1 评论 -
AS3中的聚合和复合<其实你一直在用>
基础概念复合:比如,你的挎包里有一个钱包,如果挎包被人偷了,钱包一样被别人偷了。也就是说,复合的对象是在某个对象内部创建的,随这个对象“同生同死”。聚合:比如,你的手机里有某个人的电话号码,你可以通过这个电话号码找到那个人,但是不能说那个人存在里的手机里吧。此时,如果你手机被人偷了,你能说存着他电话号码的那个人也被人偷了吗?也就是说,聚合的对象,在目标对象中只存了一个引用,聚合对象的消亡跟原创 2013-04-15 20:36:55 · 990 阅读 · 0 评论 -
AS3 开发WebGame心得(主程)
开发游戏前的思考1、整理和积累一套基础框架(包含MVC、渲染引擎、通信、BUG处理等)2、团队协作a、部署服务器软件:SVN(版本控制)、Bugfree(问题处理)、Web服务器(外部资源和配置)b、指定相关的规范:代码、文档、协作3、与服务端沟通和协商交互方式,选择合适的通信模式(XML、JSON、AMF等)4、开发游戏基础功能,需要考虑项目的扩展性,以应对多变的策划方案原创 2013-04-22 15:46:08 · 1284 阅读 · 0 评论 -
AS3地图拼接与战争迷雾的实现
在开发游戏的过程中,特别是地图编辑器中,需要利用最少的资源,实现最丰富的地形地貌。虽然现在众多的RPG开始使用整图,但是我们偶尔还是需要能够让玩家自己编辑地图,或者其他需要自动进行地图构建的功能。另外,就是在一些策略类游戏里经常用到的战争迷雾,我试过自己编写Pixel Bender自己来编写过滤器而实现战争迷雾。不过效果不是很理想(速度太慢)。后来想到,可以利用地图拼接的原理来进行战争迷雾的实转载 2013-04-12 09:48:09 · 2230 阅读 · 0 评论 -
DragonBones快速入门指南
特点:有FlashCS扩展辅助工具、占用内在少、实现方便、换装实现方便、骨骼控制等官网指南:http://dragonbones.github.io/getting_started_cn.html开源项目地址:http://dragonbones.github.com安装无法正常使用或者找不到面板的:有朋友无法在 Adobe Extension Manager 中正常安装 zx原创 2013-04-09 15:13:33 · 1742 阅读 · 0 评论 -
Starling 为基础开发游戏框架的使用心得和技巧
EventDispatcher 事件对象优化// dispatchEventWith 方法的原理和优化思想:// 以 AS3 的事件为基础的习惯使用方法:EventDispatcher.dispatchEvent( new Event("EventName", bubble) ); // 这是我们最常用的方法// 以下是在 Starling 中我们更优化的方法“事件对象池”Even原创 2013-03-21 13:59:46 · 1387 阅读 · 0 评论 -
Starling优化技巧二
前面介绍了Starling中三种(着色处理、画家算法、纹理图集)图片优化的技巧,下面介绍几种其他方法来优化你的Starling项、项目性能:强大的Sprites Sprite容器中有一个Flatten方法,它可以帮你减少GPU对帧的处理。如果您的游戏中有一些内容是静态的,并且不会发生(或很少)改变,就可以调用这个Sprite容器的 Flatten方法。Starling将会预处转载 2013-03-21 09:40:49 · 1779 阅读 · 0 评论 -
Starling优化技巧一
Starling 是一种专为游戏开发设计的AS3.0 2D 框架,但是在实际应用过程中可以将它应用于很多其它的应用程序。大多数 Flash 开发人员希望利用这种能力提高 GPU 的加速功能(通过使用 Stage3D 技术),而不必编写如此高级的框架和深入研究低级的Stage3D APIs。优化Starling的性能可以让游戏更加快速的运行,对Flash游戏制作人员来说来说是重要的操作。下面给大家介转载 2013-03-21 09:37:07 · 1120 阅读 · 0 评论 -
面向对象设计(OOD)七大原则
面向对象设计(Object-Oriented Design,OOD)的七大原则:1. 开闭原则(Open-Closed Principle,OCP)1)定义:一个软件实体应当对扩展开放,对修改关闭( Software entities should be open for extension,but closed for modification.)。即在设计一个模块的时候,应当转载 2013-04-26 09:45:20 · 2256 阅读 · 0 评论 -
OOA/OOD/OOP的区别及深入理解
这是一个故事:"工程師修了一條隧道,隧道的一端就是美麗的風景,很多人會開車通過隧道.雖然隧道內已經有燈了,但是設計者擔心隧道可能會停電,所以在隧道的入口立了牌子,提醒駕駛員進入隧道前開燈.可是由此却使得駕駛員由於看到美麗的風景而忘記關燈的情況的發生." 引来对ooa,ood,oop的理解:分析师拿到了政府,民众,组织,社团等的需求,这里泛指所有来自客户的需求了;了解需求,分析需转载 2013-04-26 09:50:10 · 1330 阅读 · 0 评论 -
解决AS3 Socket编程中最令人头疼的问题
解决AS3 Socket安全问题什么是最令人头疼的问题?也许大家会异口同声的说:“安全问题”,不错,不仅仅是AS3 的Socket,整个AS3语言中最令人头疼的问题也无非就是安全问题了。很 多同行的兄弟在郁闷的时候就会骂Adobe。但是,骂归骂,问题终归是要解决的,Adobe做这样的限制肯定是有他的用意的,大家都知道,swf文件是很 容易被反编的,那么也就是说你的swf文件内部与服务器通信转载 2013-06-17 09:27:51 · 1115 阅读 · 0 评论 -
导致flash屏幕重绘的几种方式及避免重绘的方法
导致屏幕重绘的几种原因:1、最常见的是情况就是舞台上的可视组件在形状、位置、状态(alpha, scale…)发生改变的时候会触发Flash Player 的重绘。2、当一个DisplayObject的层级(ChildIndex)发生改变的时候也会导致重绘。3、当你将一个Sprite / MovieClip 的buttonMode 设置为 true 的时候,即便是单帧动转载 2013-07-03 09:27:22 · 1480 阅读 · 0 评论 -
水波效果学习
虽然水波效果已经发的太多,不过很多人都不知道其原理,所以有必要解释一下。预览:http://files.cnblogs.com/v-miclin/Main.swf 原理: 1.首先是ConvolutionFilter ConvolutionFilter 类应用矩阵盘绕滤镜效果。卷积将输入图像的像素与相邻的像素合并以生成图像。通过卷积,可以实现大量的图像转载 2013-07-05 09:19:12 · 1055 阅读 · 0 评论 -
关于任意两点之间移动的一些算法
要在任意两点之间移动,你需要以下前提条件:1、计算出两点之间角度 angelvar p:Point = new Point();var p2:Point = new Point(200,100);var radian:Number = Math.atan2( p2.y - p.y, p2.x - p.x );// 若需要使用角度,将弧度 radian 进行转换var angel原创 2013-07-25 17:28:49 · 3044 阅读 · 0 评论 -
Flash自定义组件制作
package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.text.TextField; public class Panel extends Sprite { public function Panel() { super(); } //-------原创 2013-07-26 15:20:33 · 1922 阅读 · 0 评论 -
FL_Component包源码
以下内容针对flash CS6而言(flash CS5及5.5应该也是一样):在flash的舞台中,我们可以将fl包的各种组件直接拖出来用。这样使用哪个组件就会在发布时导出相关的类,其它未用的不会被编译到SWF或者SWC中。若我们不是使用flash软件,而是直接在flash build中进行纯AS3项目开发的话,就不能这样做,需要将这些组件导出成SWC组件包,才行。而这个SWC组件原创 2013-11-15 14:58:26 · 1015 阅读 · 0 评论 -
检测XML子节点是否存在的方法
var xml:XML = ;if(xml.child("cc").length()>0){ trace("节点cc存在...");}原创 2012-09-06 16:25:22 · 3043 阅读 · 0 评论 -
WebGame Design 的知识空间:达人BLOG收集
菩提树下的杨过地址:http://www.cnblogs.com/yjmyzz/category/236214.html缺点:更新比较慢eatan - Starling 的详细介绍和使用(这是一款国外的使用 Stage3D 实现的2D渲染框架)地址:http://www.cnblogs.com/eatan/archive/2012/02/06/2340187.html优原创 2013-02-26 15:16:32 · 490 阅读 · 0 评论 -
AS3 声音(Sound、SoundChannel)控制详解
AS3中与声音控制有关的类有以下几个: 类说明1SoundSound类允许您在应用程序中使用声音。2SoundChannelSoundChannel类控制应用程序中的声音。3SoundMixerSoundMixer转载 2013-03-14 10:02:33 · 5698 阅读 · 0 评论 -
AS3 的逻辑右移与算术右移
操作符算术右移 >>逻辑右移 >>>区别顾名思议,算术右移要顾及到符号位,而逻辑右移则忽略这一点。比如一个有符号位的8位二进制数11001101,逻辑右移就不管符号位,如果右移一位就变成01100110。算术右移要管符号位,右移一位变成10100110。逻辑右移,左边统一添0算数右移,左边添加的数和符号有关举例说明1010101010,其原创 2013-04-03 16:00:03 · 1105 阅读 · 0 评论 -
关于ActionScript3中的事件类强制转换失败的问题
错误提示:TypeError: Error #1034: 强制转换类型失败:无法将 flash.events::Event@6169971 转换为 xxxxx。 写这个主要是为了遇到这个错误的人能迅速的解决这个问题,如果我下面说的两种情况你都知道,那么你就不用看了,否则,你最好往下看看,没坏处的。因为如果你的错误是第二种情况引起的,但你又不知道为什么,我想还是会让人很郁闷的转载 2012-08-13 22:31:17 · 931 阅读 · 0 评论 -
AS3大地图游走滚屏抖动问题解决方案
目前卡的问题,基本上是CPU的模拟渲染计算产生的偏差问题,正好现在能够使用stage3d,代表我们能够使用显卡来代替CPU进行一部分工作。经过实验结果证明,果然效果明显,基本感觉不到抖动:修改方案:1、打开HTML模板文件2、加上GPU渲染选项 params.wmode="direct"3、测试效果明显原创 2012-06-17 16:46:21 · 2844 阅读 · 1 评论 -
主动调用updateDisplayList实现立即更新外观
有些项目中,我们继续了updateDisplayList,并在其中设置了我们自己的外观更新逻辑在某些时机,我们更改了数据或者设置,需要立即呈现并且看到使用这些数据对外观产生的影响,这时候就需要主动调用updateDisplayList来实现立即更新但是FLEX中是不需要直接调用updateDisplayList来更新的,我们可以间接提示FLEX马上调用updateDisplayList来更原创 2012-05-16 11:15:46 · 1438 阅读 · 0 评论 -
AS3位运算
左位移几就相当于乘以2的几次方( Left bit shifting to multiply by any power of two )//将一个值向左侧移动一位与这个值乘以 2 等效 。浮点数通过舍去小数点后面的所有位来转换为整数。大约快了300%x = x * 2;x = x * 64;//相当于:x = x x = x 右位移几就相当于除以2的几次方(Ri转载 2012-05-14 13:09:11 · 502 阅读 · 0 评论 -
XMLDocument与XML的区别和联系
一、构造方法有点不同;1,xml可以这样构造:var xml:XML= 张 三 李 四 王 五 XMLDocument则不可以这样构造。2,如果载入外部数据或根据字符串生成实例,xml可以转载 2012-05-29 09:55:14 · 1179 阅读 · 0 评论 -
air file 系统中文件或目录的指针
http://apps.hi.baidu.com/share/detail/14556035转载 2012-04-20 16:25:49 · 392 阅读 · 0 评论 -
Adobe AIR迷你教程 -- 本地文件(XML文件)的操作(1)
http://bbs.airia.cn/forum.php?mod=forumdisplay&fid=8&page=1转载 2012-04-24 13:27:09 · 543 阅读 · 0 评论 -
AS3项目:无法为区域设置“zh_CN”解析资源束“core”
zh_CN解析资源束ViewerStrings ” 问题,仔细分析了一下,问题出在-locale上。说明:ViewerStrings是我的一个.properties文件,在locale的zh_CN文件夹中。解决办法:打开项目属性,在flex编译器中,找到“附加的编译器参数”,默认值是-locale zh_CN(如果是英文版的应该是-locale en_US);由于ViewerStr转载 2011-12-30 21:14:24 · 1288 阅读 · 0 评论 -
KTween引擎各种easing效果线性预览
如下图,可以更直观,更方便选择最适合你的一种变换效果:(从左至右依次为easeIn、easeOut、easeInOut)原创 2012-10-10 17:13:48 · 2378 阅读 · 0 评论 -
KTween补间引擎的应用入门
第三方的补间动画引擎Ktween(大家可以到这里下载)。近段时间也涉及到一些动画方面的脚本编写,使用Flash中的Tween类其实可以实现,但是在Flex中要使用这个类是挺麻烦的(注:我的项目中并没有使用Flex SDK)。最后经朋友介绍才开始接触Ktween类库。Ktween是一个第三方的补间动画脚本库,它是一个轻量级的脚本库,在效率方面比Tween高(有一篇文章有讲到关于Ktween与各种动画原创 2012-10-10 16:53:42 · 839 阅读 · 0 评论 -
制作纹理图集或者精灵表的利器 TexturePacker
TexturePacker这是个国外软件,非常不错,操作方便快速。你可以非常快速的导出一张纹理图集或者精灵表,所有精灵的位置都是自动来排列的,与图集对应的会产生一个XML配置文件。每个精灵都以文件名为基础在配置文件中标出位置(XY)及大小(width、height)。工具还有其它非常实用的功能,比如:去除精灵多余的透明部分,自动去除单色来达到透明背景等。尤其是最近火热的原创 2013-04-01 10:18:53 · 1539 阅读 · 0 评论 -
flash/flex builder在IE中stage.stageWidth始终为0的解决办法
这应该是IE的bug,解决办法:stage.align=StageAlign.TOP_LEFT;stage.scaleMode=StageScaleMode.NO_SCALE;stage.addEventListener(Event.RESIZE, resizeHandler); 前二行的目的是让IE环境中触发RESIZE事件,然后在resizeHandler函数中就能正确得到stag原创 2013-02-27 11:15:36 · 663 阅读 · 0 评论 -
AS3常用位运算,提高代码效率
左位移几就相当于乘以2的几次方( Left bit shifting to multiply by any power of two )//将一个值向左侧移动一位与这个值乘以 2 等效 。浮点数通过舍去小数点后面的所有位来转换为整数。大约快了300%x = x * 2;x = x * 64;//相当于:x = x x = x 右位移几就相当于除以2的几次方(原创 2013-02-26 10:04:27 · 523 阅读 · 0 评论 -
AS3游戏常用三角形各种定理公式
解三角形解直角三角形(斜三角形特殊情况): 勾股定理,只适用于直角三角形(外国叫“毕达哥拉斯定理”) a^2+b^2=c^2, 其中a和b分别为直角三角形两直角边,c为斜边。 勾股弦数是指一组能使勾股定理关系成立的三个正整数。比如:3,4,5。他们分别是3,4和5的倍数。 常见的勾股弦数有:3,4,5;6,8,10;5,12,13;10,24,26;等等.解斜三角原创 2013-02-26 08:48:36 · 1053 阅读 · 0 评论 -
AS3常用三角函数(45度地图常用)
正弦定理:a/sin(A)=b/sin(B)=c/sin(C)=2Rabc - 代表边长ABC - 代表角度R - 三角形各边交点的外圆半径例如:已知角A和边a,以及角B,就可以求出边B的长度b = a/sin(A)*sin(B)基本三角函数的计算:角的正弦值 = 对边 / 斜边角的余弦值 = 邻边 / 斜边角的正切值 = 对边 / 邻边角度制与弧度制的相互转原创 2013-02-25 09:36:11 · 1005 阅读 · 0 评论 -
AS3运算符优先级
组运算符主要[] {x:y} () f(x) new x.y x[y] @ :: ..后缀x++ x--一元++x --x + - ~ ! delete typeof void乘法* / %加法+ -按位移位> >>>关系原创 2012-11-22 11:41:54 · 1110 阅读 · 0 评论 -
深入Flex4 -- 了解Element和Child的异同及Group的渲染优化
当我了解到Flex4那些对我诸多裨益的新特性后, 我便决定转而使用它。刚开始的时候,我试图利用在Flex前作中的认识和既有经验来快速进入状态。但很快我便发现有时即使面对一些显而易见的问题我也不得 不求助于API文档或者运行一些示例程序来弄清这种问题的来龙去脉。根据以往经验,Flex3 的Halo在处理显示列表的时候隐藏了大量的实现细节和不良设计。然而一旦你开始使用新的Spark架构后,你就得以近距转载 2013-01-05 17:31:35 · 566 阅读 · 0 评论 -
加载XML发生IOErrorEvent.IO_ERROR错误
可能的原因如下:1、请求xml的文件地址是否正确2、切记要把向asp、php、aspx等脚本文件的请求发送和向xml文件的请求发送充分考虑清楚,脚本文件可以接受任何参数,但xml文件在请求时尤其是在post情况下请求时,一定不要在URLRequest中夹带任何数据,请保持null3、检查结果类型和内容类型,以下给出一些我定义的静态数据,请参照使用 public static co原创 2012-10-16 16:45:11 · 1165 阅读 · 0 评论