Flash/Flex/AS3
文章平均质量分 83
弃天笑
多年深耕游戏开发行业,擅长Java游戏服务端,H5,Unity3D、Cocos Creator客户端
展开
-
Red5作做服务器的玩家移动信息同步例子(网游基础)
玩家移动信息同步例子,我已经写过了两个版本的啦,一个java的,一个是fms的,现在又写了个red5的,其实这些的原理都是差不多的。以前好象没怎么讲解原理,这些就写得详细点吧。用red5做服务器,其实客户端基本是fms一样的。(事实上就是一样,哈哈)。无非就是客户端呼叫服务端的方法,服务端呼叫客户端的方法。(这是同步是没有采用ShareObject的,过阵可能会写吧)先看下图片吧screen原创 2007-05-30 17:02:00 · 3369 阅读 · 4 评论 -
2D游戏平滑的迷雾战争效果
最近刚好有做2D游戏的点光源效果,然后就扩展一下,研究了一下战争迷雾的效果。主要是想实现类似魔兽争霸那种人物走动,然后黑色的战争迷雾随着人物的移动渐渐打开的效果。使用具有渐变透明图片作为光源来使得战争迷雾呈现出平滑的效果。本文后面介绍了两个简单的实现方法,效果有细微的差别,有兴趣的同学可以分别研究。最后也有完整展示代码和提供例子下载。一、常见的战争迷雾效果早期的红警的战争迷雾大家应该也比较熟悉,不过原创 2017-03-08 09:51:40 · 9297 阅读 · 0 评论 -
2D游戏新手引导点光源和类迷雾实现
一、新手引导需要的遮罩效果一般做新手引导的时候,会把游戏画面变的半黑,然后需要玩家点击的地方就亮起来。常用的做法是采用遮罩来实现,但是只能实现方形的,不能不规则图形,以及是完全挖空,做不到渐变效果(除非美术直接出整张资源)。表现效果如下: 实事上,我们想做把那个透明框做得更自然一点,更好看一点。 也就是类似火把,点光源的效果。比如下面游戏的画面那样: 比较效果,肯定是类似点光源酷多了。原创 2017-02-24 09:50:27 · 3753 阅读 · 0 评论 -
页游《火影忍者》角色和背景遮挡半透明效果的实现
这里讲的是关于2D游戏的角色和背景以及物体之间的遮挡关系,用半透明角色处理的讨论和实现方式。这里主要是讨论关于页游《火影忍者》里对于角色和背景物体之间的遮挡处理方式。同时也实现了和他一样的效果(可能)。具体是没分析火影的代码,只是猜测了它的原理然后进行实现的。其他的几种实现方式则简单的讨论,一笔带过(如果有人有兴趣,可以留言,我再单独写篇Blog和相关例子来) 实现语言:ActionScript3原创 2017-02-23 12:53:24 · 7062 阅读 · 0 评论 -
23号广州天地会的演讲ppt(WebGame的AS开发心得)
由于时间的关系,很多内容没有讲到,以及相关的demo也没有演示。之后会抽取时间整理一下,再发一些文章出来。当然,大家有问题可以讨论主题简介:AS游戏结构,网络通讯,图像缓存以及优化,资源管理,日志调试以及其他一些细节的经验心得的分享(成为主程需要掌握和注意的东西哦)下面可以去天地会的地址进行下载http://bbs.9ria.com/thread-101480-1-1.原创 2011-10-25 21:57:18 · 2722 阅读 · 0 评论 -
AS3自定义元数据标签和FlexSDK编译支持
前言关于自定义元数据标签,网上已经有不少资料了。不过大部分都是讲怎么在代码里使用,但是关于怎么编译到swf里面去,在实际编译后怎么运行却很少提及。所以我在这里会稍微提及一下元数据标签,后面重点会讲怎么把自己的标签给编译到swf中,使得在实际项目中可以使用(注意,debug方式是可以保留元标签数据的,不做特别设置,发布版是不会保留的)一 概念在讲元数据标签之前,先讲一个概念,那就是反射,我们自定义元标原创 2016-10-21 21:53:52 · 1340 阅读 · 0 评论 -
[AS3]Flash小型日志信息输出器(调试)
最近忙得一回家就睡觉.........放个小东西,平时自己也有的。主要是用来输出flash的打印信息的........目的是让flash脱离了IDE依然可以输出信息,网络应该也有不少人写,呵呵。(我不是故意又写的,只是整理一下自己以前用的),简单说明一下功能......增加了XML配置文件,可以设置接受flash信息的接受器(分flash,socket服务器,http服务器)可通过配置文件修改信息原创 2008-02-01 23:43:00 · 7316 阅读 · 3 评论 -
swf文件结构解析
转自 http://tb.blog.csdn.net/TrackBack.aspx?PostId=59855以下是我最近研究的关于swf文件的结构一些资料。第1节swf文件的整体结构是 header + body的组成。文件的开始是一个[文件头]它的结构如下:字节 名称 说明 1 Signature “F”表示非加密格式,“C”表示加密格式 1 Signature “W”无特殊意义 1 S转载 2007-05-12 00:44:00 · 1820 阅读 · 0 评论 -
FlashBuilder(Eclipse)的颜色风格插件
一、护眼和潮流整天面对FlashBuilder白色编程界面真是太单调了,就算使用来了管家的护眼模式,也只是让白色变成绿色。作为一名程序员也应该顺应潮流,不应该一成不变,现在都流行暗黑主题,让FlashBuilder变得跟Sublime text一样风骚的显示效果吧。通过安装相应的颜色插件,得到下面最终效果: 二、FlashBuilder自身的颜色效果其实也是有人推了一些FlashBuilder的颜原创 2016-12-07 21:03:03 · 4614 阅读 · 3 评论 -
用字节数组存放二维地图数据
一 二维地图数据内容在RPG的大地图中,我们往往会分割成很多小块(逻辑上),用于玩家行走,比如使用A星寻路等等,就需要的二维地图数据。一般情况,存放的是数值,主要是指每个格子里的数值,这里的数值是指我们赋予他的需要表示的内容。例如:0,0,0,0,1,1,0,0,1,1,1,0,0,0,2,0,1,1,20表示为可行走区域1表示不可行走2表示可飞行3表示传送点4表示出生点等等根据需要来扩原创 2016-10-26 21:53:02 · 3055 阅读 · 0 评论 -
网游通讯传输可变长度的数值和数组
何为可变长度的数值(int,long等)其实现在大部分网络游戏(端游、页游、手游都一样),在客户端和服务端通讯,关于数值都会采用可变长度的方式来传输,从简而减小通讯量。 一般情况,客户端和服务端进行网络的socket通讯,都是采用二进制数值来进行的(也有采用字符串)。 可变长度的int是指根据实际的数值在网络传输中动态地改变长度。比如int在传输中可以变为byte,short,从而减少in原创 2017-03-20 21:53:56 · 1231 阅读 · 0 评论 -
FlashBuilder精选插件
这个是12年发布在天地会论坛的文章,发现没有在csdn发布,所以就转过来当备份了。同时加上自己的使用心得。 所谓磨刀不误砍柴工,这些插件可以让你的ActionScript编程事半功倍哦!有些是自己在open-oepn的插件列表一个个找的,有些是在网络上搜集的,以后有了新的插件,也会陆续更新。一、FlashBuilder常用精选0.新增加一个颜色插件,我后来使用的,很不有错哦,赶黑色风格的潮流原创 2017-06-15 20:51:07 · 2637 阅读 · 0 评论 -
eclipse + fdt + mtasc + as2ant开发环境
(转自http://www.flashmediaserver.com.cn/bbs/thread-3495-1-1.html)这是一个flash高手所发的贴,eclipse开发flash,一般都是比较大的项目才用这个。好处,呵呵~我想了解eclipse的人都不用说了。一个字,爽。哈哈, 我现在在公司也是用这个来开发,无论是java还是flash。把这个贴转过来,让大家分享一下。哈哈哈要配置好一个完原创 2007-04-03 11:29:00 · 3403 阅读 · 2 评论 -
[转帖]FMS客户端 ActionScript 语言参考(1)
[转帖]FMS客户端 ActionScript 语言参考(1)来源:蓝色理想译者:起舞弄清影译者博客:http://wenjun.flash9.net/ 面的代码摘自他的博客.招收翻译人员若干加入这个翻译队伍,共同完成大伙的免费FMS中文帮助,愿意入伙参加的跟帖.客户端 ActionScript 语言参考(1) 第 1 章 Macromedia Flash M翻译 2007-04-02 11:13:00 · 1462 阅读 · 0 评论 -
FMS的File的翻译
File class==================================呵呵~这是我的舍友icelong去年翻译的,想来也真难为他,那时我因为工作的原因要用到fms,所以就麻烦他帮翻译了一点(由于是临时用,我本人也没太认真去对较,纯粹是方便写程序,参考而已,如果有错误,请大家评论)==================================可翻译 2007-03-23 11:51:00 · 1385 阅读 · 0 评论 -
FMS的WebService类翻译
WebService class==================================呵呵~这是我的舍友icelong去年翻译的,想来也真难为他,那时我因为工作的原因要用到fms,所以就麻烦他帮翻译了一点(由于是临时用,我本人也没太认真去对较,纯粹是方便写程序,参考而已,如果有错误,请大家评论)==================================翻译 2007-03-23 11:49:00 · 1807 阅读 · 0 评论 -
FMS客户端 ActionScript NetConnection类
Constructor for the NetConnection class============================== 可用的:Flash6Flash Communication Server MX1.0用法:new NectConnection();参数:无返回:一个NectConnection 对象 描述:构造器;创建一个翻译 2007-03-23 11:47:00 · 8238 阅读 · 0 评论 -
FMS做成的客户端动画同步(网游基础)
FMS做成的客户端动画同步(网游基础)前一段时间用java跟flash写了个最基本的客户端同步程序,现在再发用fms写了,大体上思路是不变的,但是因为服务器的程序不一样,所以多少有点变动。程序在这里就不作详细讲解,我在程序里写了详细的说明,大家可以下载去看。这里只讲下重要的部分至于程序用到的map。hashmap类,大家可以看我写那些类,这里也不说了。本来我把所有的程序都封装成了,但是考虑到简原创 2007-03-22 16:00:00 · 3305 阅读 · 9 评论 -
flash media server的简单后台调试步骤
呵~我不知道这个大家不是都已经知道了。去年做项目时有关fms的,但是没用过fms,所以我当初弄这个的时候,也有点点头晕,服务器的输出程序在那里。呵,没办法,英文不行。琢磨了一阵才知道。写下来让大家看看首先登陆fms的后台管理 Management Console进去登陆后,左下角,下面就有你放在application 下面的的文件夹的名称,这就是一个个项目了选择你需要的项目左原创 2007-03-22 13:36:00 · 2130 阅读 · 0 评论 -
Away3D制作怪物跟随名称
Away3D4.1版本这个是简单的例子,在原来的Away3D的MD5的例子上做了修改。主要是测试Sprite3D。Sprite3D可以看成3D里的平面,也就是说你放一张贴图进去,始终都是平面的,这样就适合做怪物头顶的名字了。当然,有些特效也是可以做的。只是增加了一个简单的文本生成图片的功能,然后用Sprite3D贴出来,绑定在角色的Mesh上。只是增加了一个简单原创 2013-01-28 21:43:52 · 4139 阅读 · 0 评论 -
Eclipse4.2安装FlashBuilder插件
一、原因使用Eclipse安装FB的插件的原因,是因为想给FB安装颜色插件。但是颜色插件需要比较高版本的Eclipse支持。而FB的Eclipse版本比较老了(FB4.7的Eclipse版本才3.7),又没有升级了,无奈想法子提升Eclipse的版本,同时寻找安装FB插件的方法。之所以使用Eclipse4.2而不是更高版本,是因为FB的插件安装最高只能支持到4.2版本。二、安装准备工作首先需要安装原创 2016-12-07 20:45:45 · 4155 阅读 · 0 评论 -
flash类单态模式的写法与疑问
最近在做项目的时候,写了个单态类。可是在后来的使用中,不小心在获取实例的时候加了一个new,居然不会出错。但是就没有想象中的结果了。一直调试程序都没发现。知道后来才知道。现在把它写下来,让大家看看。讨论讨论先来个单态类class Single{private static var single:Single;private static var count:Number = 0;//私有,不能再使原创 2007-03-27 18:00:00 · 1241 阅读 · 0 评论 -
arguments的用法(介绍)
呵呵~~看到有朋友问,所以就顺便写一下,也许还有其他的朋友不知道arguments 对象用于存储和访问函数的参数。尽管它在函数体内部,也可以用本地 arguments 变量对其进行访问。这些参数作为数组元素存储,第一个参数作为 arguments[0] 被访问,第二个参数作为 arguments[1] 被访问,依此类推。arguments.length 属性表示传递给函数的参数数目。请注意,传递给原创 2007-05-16 16:55:00 · 3624 阅读 · 7 评论 -
[AS3]registerClassAlias的用法
registerClassAlias在利用AMF3进行序列话网络通讯中,是非常有用的。需要把客户端的对象直接传送到服务器得时候,保留该对象的类(类型)。 这样的话,就可以传送自定义对象或者系统自带对象。具体的使用方法,官方有详细地用法。这里我只说说自己的一些理解。readObject方法对构造器有参数的类,是会出错的,会弹出参数数量不匹配这个错误。因为还原对象进行反射的时候,是默认没有参数的给构造原创 2008-08-01 07:39:00 · 10545 阅读 · 1 评论 -
[AS3]Flash Socket底层接受数据的初级处理
用flash去开发应用,,免不了网络通讯,特别是网络游戏,需要用到即使通讯。as3提供了两个支持即时通讯的类:XMLSocket和Socket,前者其实是只支持发送字符串,而后者就强大多了,支持发送字节,相对来说比较底层,而这也给我们更多的发挥空间。其实,flash socket的网络底层接受数据,就以与C++服务器通讯为例子,C++服务器一般会发一段一段数据过来,每段数据都是由一定结构组原创 2008-06-29 12:37:00 · 8085 阅读 · 6 评论 -
Flex客户端用户登陆验证
开始用AS3做东西了,所以整理点东西放出来,会逐渐丰富起来的.这个其实只是很简单的应用啦.用一些组件和一个函数,暂时没有和其他程序交互下面是代码:http://www.adobe.com/2006/mxml" layout="absolute"> //当点登陆按钮时调用该函数,简单的函数 public function check():void {原创 2007-06-07 09:17:00 · 3295 阅读 · 1 评论 -
[AS3]XMLSocket通讯的安全策略设置
如蒙转载,请注明文章出处:www.sujun.org 作者:弃天笑当自己的做具有socket服务器的flash社区或者游戏时,就会牵涉到flash的安全策略的问题如果没有通过安全策略的检验,socket时连接不成功.解决这个问题的办法有几种,看具体的情况.一种时加载一个与flash所在位置相同的flash,该flash连接服务器另外的一种时连接上服务器后,接受服务器的策略文件,通过再继续通讯.具原创 2007-12-19 21:40:00 · 2722 阅读 · 4 评论 -
[AS3]在反射中使用静态方法
个人比较喜欢用xml配置一些flash中使用的信息,尤其是利用反射(java感染的习惯的),主要是因为比较多是做架构,讲究的通用性在AS3中,类的实例是不能使用该类中的静态方法的。只能通过类名来调用静态方法。所以利用反射使用一个类的静态方法时候,就可以少一步啦,直接反射出来的class,再调用静态方法就可以了。在程序中直接输出类名,得出的是class对象。下面还是看看代码吧import f原创 2008-05-11 13:00:00 · 5564 阅读 · 5 评论 -
AS3.0的Socket通讯发送固定字符串(指定编码)
flash客户端与服务端传输中文出现乱码的问题 C++服务端每次接受一条字符串信息,需要固定字节 例如C++服务端需要接受一条用户名的信息,名字长度是32个字节,也就是说,C++服务端每次要 获取名字的时候 都是在socket中读取32个字节,不管flash客户端输入的用户名是否有32个字节] 这样的话,flash客户端就要做一些处理 也就是当用户输入用户名达不到32个长度时,我们必须给他补长度原创 2007-11-15 22:35:00 · 7433 阅读 · 2 评论 -
[AS3]使用RSL进行AS瘦身编程
RSL是什么??RSL是 Runtime Shared Library的简称。我个人的理解时是在swf编译的时候,不把在该swf中使用的一些类库 编译进swf中去,而是在该swf运行的时候动态加载,该swf是要使用的类库,从而达到减小swf体积的目的。做as编程的人都知道,如果每个swf都引用了同一个类的话,那么你编译每个swf的时候,都会把那个类编译进去,也是就是说,无形中对整个应用而言,就多了原创 2008-05-11 13:35:00 · 4083 阅读 · 0 评论 -
一个Loader加载多个swf
一个Loader加载多个swf有人做过这个相关的功能吗?我研究了一阵..........确实可以实现.不过却有点不完美.不知道还有其他人实现吗?通过调试器观察.........发现Loader.content属性为空时.才能够正确地加载一个swf.否则会抛出"提供的 DisplayObject 必须是调用者的子级错误"偏偏Loader.content是只读属原创 2008-03-02 23:07:00 · 2866 阅读 · 1 评论 -
[as3工具类]XML数据直接转换成as3类
平时做游戏开发的时候,很大程度上都会采用xml来做配置文件。有时候需要写很多,然后又需要依次去解析。如果有一个工具来自动解析每一个xml,并且提取出自己需要的数据,多好呀。所以偷了个懒,写了一个解析一定格式的xml和解析类,把这个格式丢给策划自己去调整数据啦。同时自己这边只需要接受现成的类注意,这里的指的类,一般是自定义的数据结构(类似javaBean,使用的都是属性值)。这样通过访问有数据类原创 2010-01-13 20:37:00 · 6470 阅读 · 5 评论 -
[AS3]Class小技巧:程序自动让对象向下转换
<br />这个是一个比较方便的技巧,在实现一些自动化框架的编码中,可能会比较常用到。就是通过框架传递过来的参数,一般都是传递对象的接口或者父类,然后再传到对应的方法中,再采用强制性转换之后,再使用。<br />例如我个人写网络通讯框架中,所有接受的数据都实现了IRead接口,所以回调函数接受的参数是IRead接口,我为了减少强制转换的麻烦,就在网络底层写了个自动强制向IRead的不同实现类作类型转换。这样在不同的接收方法那里可以声明自己想要的实际参数对象啦~<br />下面是简单的代码例子<br原创 2010-08-07 18:08:00 · 2991 阅读 · 0 评论 -
Flash Socket的基本通讯协议流程例子
<br />这个例子是7月24日 • 广州 • 东方国际饭店的Flash技术交流会演讲那天的例子,现在传到blog上,让有需要的人去下载。不过后来发现大家比较感兴趣的,不是具体的通讯协议,而且一些关于通讯的各种技术解决问题。呵呵。希望有继续可以和大家继续交流。大家共同前进。而我自己以后也会陆续贴出自己工作上遇到的问题(例如我自己现在webgame服务器方面的)不过这篇例子是比较简单的通讯协议了,客户端和服务端都是采用最基础的一个一个数据地发送,也是一个一个地接受(采用 len + cmd + body)原创 2010-07-25 16:45:00 · 3240 阅读 · 0 评论 -
FlashBuilder4.7读取FlashCS导出SWC的JPG图片为空的问题
事因平常我们做页游项目的时候,比较少用到从FlashCS里导出SWC里面的图片,就算有也是Png,jsp是非常少的了。对于习惯使用FlashBuilder的人来说,如果要用图片,就直接采用嵌入图片了。[Embed(source="assets/play.png")] 所以这次做个小游戏的时候,因为贪图方便,把资源全部做到FlashCS里面,然后生成swc,最后在FlashBuilder里引用。结果就原创 2016-10-31 20:06:41 · 1173 阅读 · 0 评论 -
[Flex]类似Google搜索提示的两种做法
做了个简单的搜索提示程序,类似google之类的搜索提示,就是输入一个内容时,会把开头对得上的内容显示出来。下面可以看看: 呵呵,这里没有显示有多少条结果,当然也要做到统计也是可以的。这里只做简单的显示。下面就说说两种做法。第一种,是在用户输入提示信息的时候,把用户输入的信息跟应用中存的数据进行比较,找出匹配的数据,然后 在list组件里显示出来//输入文本内容变化事件原创 2009-03-07 22:07:00 · 5752 阅读 · 1 评论 -
Flash生成唯一的标识的类AloneFlag.as
我们在程序设计中,总免不了一个唯一数去表示,服务器生唯一数还好一点,可是要让客户端生成唯一数呢?似乎有点难。下面是我写的一个在客户端生成的唯一数,利用本机是和多个随机数的生成,当然,这些是可以自己去调的,调得越大,相同的可能性就越小(因为有获取当地时间,所以每秒都不一样)/** * @(#)AloneFlag.as * * @author soda E-mail:junaisy@16原创 2007-03-15 11:02:00 · 2431 阅读 · 1 评论 -
swf文件的反编译入门
/*------------------------------------------------------作者:WiNrOOt[FCG]使用工具:flasm? http://www.nowrap.de/flasm.html UltraEdit Sothink SWF Decompiler目的:让带有服务器校验的swf转载 2007-05-12 01:02:00 · 5148 阅读 · 0 评论 -
SWF文件结构大解剖
作者: 牛胜超 时间: 2002-09-29 出处: 天极设计在线转载 2007-05-12 01:09:00 · 1591 阅读 · 0 评论 -
GuiBuilder拖放组件问题
<br />由于受到以前用GuiBuilder的影响,那时用的时候是新建一个内容之后,添加组件之后可以直接拖动的。<br />现在装了之后也受了这个影响,结果发现完全拖不动。<br /><br />在电脑里胡乱搞了一阵,才想起。容器有个布局的设计。(这里是以JPanel为容器)<br /><br />现在GuiBuilder默认是BorderLayout<br /><br />所以,把布局修改为EmptyLayout就可以自由拖动组件啦原创 2010-06-10 12:08:00 · 1820 阅读 · 0 评论