
AS3
Jave.Lin
积跬步至千里
展开
-
寻路测试
package{ import flash.display.Graphics; import flash.display.Shape; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import fl原创 2017-11-13 01:33:29 · 667 阅读 · 0 评论 -
四叉树-2D平面的渲染剔除、碰撞次数优化
直接上效果图图中:绿色圆为玩家的位置(运行后发现是会跟随鼠标位置的)绿色矩形为当前镜头视野红色圆是可以与玩家(绿色圆)碰撞消失其他的矩形为四叉树叶子节点的区域目前只显示镜头内的四叉树叶子内容运行后,用鼠标控制玩家的位置源码工程IDEA的AS3四叉树源码测试工程参考场景管理:四叉树算法C++实现原创 2017-07-15 15:04:48 · 882 阅读 · 0 评论 -
Stage3d 中的DeviceLost(设备丢失)处理方案
/* @author Jave.Lin @date 2016-09-10*/IDeviceRes{ function onRestore(newDevice:Context3D):void;}GameVertexBufferRes : IDeviceRes{ rawData:Vector.<Number>; vertexBuff:VertexBuffer3D; fun原创 2016-09-10 16:32:22 · 1380 阅读 · 0 评论 -
写文件时带上BOM标记
今天在给策划同学,对一游戏中的一些实时数据保存到csv,发现用excel 打开csv utf-8导出还是有乱码,还得带上BOM数据标记后,才没有乱码; 下面使用actionscript3 来写文件演示:var fr:FileReference = new FileReference();fr.addEventListener(Event.COMPLETE, onFRSaveCom);fr.add原创 2016-08-26 14:19:49 · 1493 阅读 · 0 评论 -
AS3 Worker DEMO
说实话,不知为何AS3 Worker DEMO的从使用,与API命名,感觉都是与统传的计算机中的线程的概念,名称,都很不同,初次使用,如果不写个DEMO,真的不知道怎么用;AS3 Worker DEMO项目Sender 与 Receiver的合并使用testWorker.as是文档类用于:Sender 与 Receiver的合并使用; 建议不这么用,因为createMessageChannel的原创 2015-11-14 15:55:37 · 2034 阅读 · 0 评论 -
AS3深坑:XXX类 非法覆盖 XXX类
我刚踩过的坑,在这和大家说一下,fb (当前我知道的是SDK 4.0)遇到那些提示:XXX类 非法覆盖 XXX类的问题。1、如果某个类的全名(package.className)分别在,a.swf,b.swf中存在,那么如果按顺序加载a.swf,b.swf时,到b.swf, loadBytes加载定义信息时,就会出现;2、还有另一种情况:FB的使用的AIR SDK 的compiler与ru原创 2015-03-23 12:09:31 · 1914 阅读 · 0 评论 -
Bezier(贝塞尔曲线通用规律算法-DEMO)
之前也看过一些相关贝塞尔曲线的知识,但就是一样没有实践应用原创 2014-09-10 23:02:11 · 6337 阅读 · 3 评论 -
jsfl 遍历属性时,出现令人蛋疼的:JavaScript 错误;
jsfl 使用时,出现:JavaScript 错误;但看了很久,代码没啥问题;(这就是jsfl最难调试的地方,报错了,找问题,找1万年,有没有?有没有!!)只是对flash 中的一些元件,库项,场景元素,等实例对象的属性打印而已;经过蛋疼几波,终于发现:就是这些实例对象的某些属性你可以遍历出来;但就是obj.pro时,就会报错;具体原因,我也不太了解;原创 2014-01-26 14:19:15 · 2007 阅读 · 0 评论 -
as3 判断,某个类是否继承于某个类,某个类是否实现某个接口的方法
不多说,直接上代码:package utils{ import flash.system.ApplicationDomain; import flash.utils.describeType; import flash.utils.getDefinitionByName; import flash.utils.getQualifiedClassName; import flash.原创 2014-01-20 13:40:40 · 3356 阅读 · 0 评论 -
Flash Pro CS6 发布的swc在外部代码调swc内的位图不显示的BUG解决方法
之前一直没有遇到过这样的问题,也许是Flash Pro的版本的BUG问题;美术提供的一些素材,在.fla的库里或是场景,都可以正常编辑,正常显示;但,把该.fla导成.swc再到:flash builder引用该.swc,再代码时新建位图,添加到舞台;结果没有显示;如:aaa.fla,库里有一个位图,我设置了链接名为:BagPanelModule.GridBgBmdUI原创 2014-01-02 16:19:08 · 2723 阅读 · 0 评论 -
AS3 判断某个类型(注意:不是实例)是否继承于某个类型的方法
在未找到有现有API时,只能自己利用别的API来实现: /** * @author Jave.Lin * @date 2013-12-25 * AS3 判断某个类型(注意:不是实例)是否继承于某个类型的方法 * @param targetCls 指定要判断的目标类型 * @param specialCls 指定要判断是否继承的类型 * @retur原创 2013-12-25 10:52:58 · 2067 阅读 · 0 评论 -
AS3 缓动加速动画
我们平时写的easing缓动系数,实现都是:缓动减速运动。那么,要实现缓动加速动动,有位Q群朋友提出这个问题,一个星期前,还想着帮忙写出来。但当时发现写不出来。一个星期后,突然在群里又看到这个问题的出现,突然灵感一来,写出了效果,但需要两个辅助变量:package{ import flash.display.Sprite; import flash.displ原创 2013-11-08 17:15:04 · 2923 阅读 · 0 评论 -
正则:制作对文本信息提取,可方便于制作,WebGame的语言包提取
假如我们的webgame中,*.as文件中,包括了大量的:文本描述信息;(无论是什么语言:中文版有中文,对象其版就会有N种语言:英文,韩文、泰文、越南文、繁体中文、印度文,等等)如:var equipDescription:String = "这是一个装备";这样在制作工作提取:"~~~"之间的内容会提取到很多不相关的信息;那么我们就可以使用一个比较奇葩,少用的方法原创 2013-11-08 10:05:21 · 1340 阅读 · 0 评论 -
AS3 判断,与过滤是否为数组的方法
/** * @author Jave.Lin * @date 2013-10-23 */ private function checkItemArrType(value:Object):void {// // 方法一:利用属性,与方法来过滤类型,但不能100%过滤错误// if(!value) throw new Error("value == null"原创 2013-10-23 11:24:55 · 1710 阅读 · 0 评论 -
AS3 TimerManager
之前的TimerManager好几个版都是使用别人写的;自己写的没有备份过;还是累积一下,并备份一下,再造一下轮子:代码:package{ import flash.utils.getTimer; /** * 时间器管理类 * @author Jave.Lin * @date 2013-10-12 **/ public class Timer原创 2013-10-12 12:14:55 · 1591 阅读 · 0 评论 -
AS3 扇形绘制
源码:package{ import flash.display.Graphics; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; /** * [descrip原创 2013-10-11 16:12:17 · 1628 阅读 · 0 评论 -
AS3 Starling 下实现 文本的超链接功能
相信使用Starling开发的,在使用TextField时,会遇到,超链接文件功能不可用的问题;看一下源码;就知道,毕竟他是在原生的TextField基础上实现的,将TextField draw成Texture然后放到GPU显示;如果要实现链接功能;那么有个思路:1)、获取:超链接文本的显示内容;2)、获取:超链接文件的链接内容;3)、使用原生的TextField,计算,第原创 2013-09-29 12:39:28 · 2845 阅读 · 0 评论 -
AS3 BitmapData.perlinNoise()方法的用途
BitmapData.perlineNoise()方法让BitmapData画布可以生成很多杂点;而且调整参数让杂点之间的颜色间隔过度相对圆滑很多;这样一来,如果BitmapData画布是N * 1或是 1 * N大小;因为横向、纵向(宽、高)为1的大小;所以可以理解该画布的形状,就是一条线,而且这条线的每个点之间的颜色alpha差值都是有一定的规律,就像给该线填充的渐变填充一原创 2013-09-27 18:10:44 · 2164 阅读 · 0 评论 -
在AS3页游中,快捷菜单组件的封装使用
良好的重用;决定良好的封装;游戏中比较多的一些:物品、或是聊天框中的链接、选中人物后,左上角出现的人物信息框,等等这些拥有点击弹出菜单功能的地方实现功能都可以按我封装的这个MenuContext实现;下面简单写了一个:MenuContext,(C#叫:ContextMenu,我故意搞反了)虽然现在市场上很多页游都有这个功能,他们也应该封装得挺好的,不过我之前却实见过,了了草草的实现原创 2013-09-22 12:16:55 · 1378 阅读 · 0 评论 -
AS3 toolTip 的简单设计
在学习C# WPF时,内有介绍一些控件内置的ToolTip功能时;想起之前的页游制作时,的ToolTip功能;1)、每个需要ToolTip都加个Over,Out事件,并指定数据,构造并显示到ToolTip;2)、每个需要需要ToolTip的组件,都由一个ToolTip管理器去注册,与注销ToolTip处理(也就是,Over,Out事件处理)今天看到的这种,也随手写一下;也有他存原创 2013-08-29 10:51:13 · 1063 阅读 · 0 评论 -
AS3 将字符串转成Date 时间对象
NO方案:var dateStr:String = "2013-8-7 9:30:15";var date:Date = new Date();date.time = Date.parse(dateStr);//NO//trace : Wed Aug 7 09:30:15 GMT+0800 2013trace(date.toString());为啥NO:就如上代码,原创 2013-08-07 10:06:34 · 5985 阅读 · 0 评论 -
as3 大部分页游中的:游戏对白的文本显示动画工具类
直接上源码,不多说了:只要有下面这边个类,复制到项目中;运行:TestDialogueUtil.as即可;package{ import flash.events.TimerEvent; import flash.text.TextField; import flash.text.TextFormat; import flash.utils.Timer; import flas原创 2013-07-24 19:51:35 · 1524 阅读 · 0 评论 -
as3 页游中,新手指导中,屏蔽所有交互对象,但除了指定交互对象可用的方法
玩过几款页游,他们处理新手指导的过程中;会有一些强制玩家必须点击指导流程所激活的按钮,才可以继续游戏的方法,其实有那么几种:1)、有些将黑色半透明的显示对象放最顶上,只露出要操作按钮的矩形位置可操作;2)、有些是将黑色半透明的显示对象放最顶,所有都遮挡;然后将指定的操作对象放到最顶上,操作后,再放回原来的层;3)、就是目前我推荐的方式:就是,通过,屏蔽掉所有交互对象的,捕获原创 2013-07-24 15:12:45 · 1591 阅读 · 0 评论 -
游戏中的一些配置加载,如何比较方便,快速
首先,本方法中,引用了as3 Zip库(国外人士已把:java.util.zip下的代码,重写成as3),快速,稳定,挺好用;as3 zip.swc 原作相关网址ICfgManager接口:package interfaces{ import flash.utils.ByteArray; /** * 数据配置管理类接口 * @author jave.lin原创 2013-07-20 18:09:56 · 1058 阅读 · 0 评论 -
AS3 双击管理工具
package{ import flash.display.InteractiveObject; import flash.events.MouseEvent; import flash.utils.getTimer; /** * 双击工具(不使用Flash源生的方式,源生的方式是:第二下up时才触发,而这种方式是,第二次down时就触发) * @author jave.li原创 2013-07-12 17:57:48 · 970 阅读 · 0 评论 -
as3 重力传感 示例
as3 重力传感(国内也有人叫:陀螺仪) Flash Air for Android例如:运行:Flash CS 5.5或是CS6,我的是Flash CS6;1)、运行Flash;2)、创建Air for Android的模板;3)、Ctrl+Enter;即可看到模拟器的运行效果;调整手机的,x,y,z铀上的方向即可看到小球的滚动位移变化;脚本代码:import flash原创 2013-07-08 10:50:49 · 2316 阅读 · 0 评论 -
在上篇,as3反射基础上,实现,类对象成员变量批量复制
package{ import flash.net.getClassByAlias; import flash.utils.getDefinitionByName; import flash.utils.getQualifiedClassName; /** * 批量数据处理工具类 * @author jave.lin * @date 2013-6-26 */ pub原创 2013-06-26 18:23:32 · 1316 阅读 · 0 评论 -
as3 中的反射应用,如:获取自定义类的成员信息
class Test public var test1:String = ""; public var test2:String = ""; public var test3:String = "";}上面Test类是测试用的类里面有三个变量,我们可能通反射将其获取package{ import flash.utils.describeType; /** * 反射工原创 2013-06-26 17:21:32 · 2235 阅读 · 0 评论 -
AS3 Base64
//============================================================================// Base64 // 通用的base64转byteArray;//============================================================================intern转载 2013-06-17 11:22:33 · 1291 阅读 · 0 评论 -
AS3 DragManager ---- 自己写个拖动管理器
这个是自己为当前需求而写的一个拖动管理器;比较轻量级,没有mx类库下的DragManager那么强大;一般用于web game的各种拖动处理的话,够用了:demo下载执行效果,如图:原创 2013-06-14 16:50:53 · 2725 阅读 · 3 评论 -
在自己写的formatName基础上,写个,将时间转化为自定义的输出字符串格式信息
StringUtil.formatName在该文章中,含有声明及定义:as3 formatName 功能实现代码: /** * 传入以Date为单位的时间,将转成对应的,时,分,秒单位的格式字符串表示 * 其中:{yyyy}、{mm}、{dd}、{HH}、{MM}、{SS}是关键匹配字符串,分别表示:年、月、日、时、分、秒 * */ public s原创 2013-05-31 11:59:28 · 997 阅读 · 0 评论 -
as3 打开网页
虽然还要其它(AS3 CALL JS)的方式,但这种方式,方便,简单:如下代码: var Request:URLRequest = new URLRequest(encodeURI("www.baidu.com")); Request.method = "get"; navigateToURL(Request,"_blank");原创 2013-05-31 11:19:20 · 1298 阅读 · 0 评论 -
as3 formatName 功能实现
package{ import flash.display.Sprite; /** * format、formatName的功能实现 * @author jave.lin * @date 2013-5-13 */ public class TestAS3Regex extends Sprite{ public function TestAS3Regex()原创 2013-05-24 14:57:30 · 1166 阅读 · 0 评论 -
as3 与 pc com口(串口)通讯思路
虽然没有使用过:air;air 的开发基础语言:as3,air native extentions (ANE) ,可用于扩展各种平台下为实现,as3实现不了的功能,而做扩展;这个准备研究;但as3 与 com口通讯,可以不使用ane,有这么一个思路;只不过是绕了一圈;可以实现,C#,调用com口,再用c# socket与as3 socket通讯即可;原创 2013-05-23 10:56:01 · 5259 阅读 · 0 评论 -
AS3 中字符串的format功能实现
使用C#的朋友都知道,string.Format();还是挺好用的,如:string str1 = "杰卫,这里有{0}个苹果,和{1}个香蕉!{0}个苹果{3} 元,{1}个香蕉{4} 元,一共{2}钱";string str2 = "Hei jave, there are {0} apples,and {1} banana! {2} dollar all together";Con原创 2013-05-13 11:09:08 · 3162 阅读 · 1 评论 -
AGAL 的学习记录
记录作者:Jave.Lin原贴:http://blog.csdn.net/linjf520/article/details/8758954首先:AGAL缩放的,全拼意思:Adobe Graphics Assembly Language:Adobe 图形图像汇编语言先记录一下:常用的寄存器的名称表列(缩写=>全拼),大部份名称都是按自己的喜欢来定而使用,因为用在不一样的公式,计算原创 2013-04-04 15:33:19 · 3581 阅读 · 0 评论 -
Adobe Flash Stage3D ---- Molehill 相关
今天刚收到网上买的书,Adobe Flash 11 Stage3D(Molehill) Beginner's Guide;以下是一些相关的资料收集;1、Adobe Flash 11 Stage3D(MoleHill) Beginner's Guide 原作者的个人博客中的Demo:http://mcfunkypants.com/molehill/chapter_1_demo/原创 2013-04-02 13:23:17 · 1385 阅读 · 0 评论 -
AS3 中,Function.apply、call中第一个参数的作用;与什么时候用;
大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值了也没反应;没反应的情况,是因为你的这个Function是普通的类成员函数;看apply,call的描述中,第一个参数的说明是,要应用该方法的对象;如何理解?难道是,class A{ public var name:String="a"; public functio原创 2013-04-01 13:32:09 · 5485 阅读 · 0 评论 -
AS3 Starling extends Particle System 分析
Starling extentions Particle SystemAuthor : Gamua OG分析作者:Jave.lin原文:http://blog.csdn.net/linjf520/article/details/8701354这是Starling扩展的粒子系统下来源码,与DEMO运行后,发现效果很强大,于是开始研究其结构;1、原创 2013-03-21 14:55:07 · 2497 阅读 · 0 评论 -
图像相似判断算法
思路:1、原图,缩到,10*10大小;2、去色(灰化),重置每个点的颜色,算法为:(color=(red*30+green*59+blue*11)/100;color=(color3、取图片所有像素颜色的非透明值的平均值,算法为:(w=h=10;total=0;for(i for(j total+=bmd.getPixel(i,j)&0x00fffff原创 2013-03-07 00:10:11 · 1422 阅读 · 0 评论