- 博客(37)
- 资源 (17)
- 收藏
- 关注
原创 用Flash Builder 4 beta建立连接BlazeDS远程端的Flex应用程序
配置服务器环境:<br /> 第一步,创建被Flex应用程序调用的Java类。本篇文章的应用程序使用了SimpleCustomerService类,这个类的方法被命名为getAllCustomers(),将在Flex应用程序中被调用: public class SimpleCustomerService <br />{ <br /> public ArrayList<SimpleCustomer> getAllCustomers()<br /> {<br /
2010-09-29 18:25:00 701
原创 在Flex Builder中添加BlazeDS
首先BlazeDS包含了两部分的内容,一个是客户端Flex,另一个是远程服务端Java。为了能同时编写Flex代码和Java代码。Flex Builder一般以插件形式安装,也就是要在Eclipse中装一个插件版的Flex Builder。而blazeds下载下来默认是blazeds.war的文件,至于为什么是war格式的,以下过程中会用到。创建一个Flex Project,在Application server type中选择J2EE,其他都默认,next在下来的这个界面中,关键点是Fle
2010-09-29 17:58:00 607
转载 八个我最常用的AS3开源类库
<br />来源:http://kevincao.com/2009/09/8-as3-lib/<br />GreenSock Tween Platform<br />GreenSock Tween是我最常用的一个功能强大的Tween类库,详细可以见我之前的介绍。但是要注意这个类库对商业项目并不是免费使用的,可以替代的选择有很多:GTween,Tweener等等。<br />Bulk Loader<br />Bulk Loader解决的是AS3中各种不同类型文件的加载问题,实现了对各种数据类型统一
2010-09-29 17:56:00 586
原创 BlazeDS研究--在FlashBuilder下搭建BlazeDS应用环境
BlazeDS简介: BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,以LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。<br />开发环境: IDE: ec
2010-09-29 17:53:00 535
原创 Flash社交游戏开发攻略连载(五)——反射的应用
<br />反射(Reflection),是众多面向对象语言都有的功能,不过我在论坛上常常看到有人不理解反射的用途,甚至有人说反射没有任何用处。今天我不讲反射究竟有多少可挖掘的地方,我们就着我们的游戏内容,来讲一下反射的现实应用,很多东西,不用你是不知道的。我们来到花园游戏,花园游戏中有许多的花,很多很多,估计有108种,并且一直在不断的增加。大家都知道,花肯定是flash做好的元件,因此我们要去库里面取,从库里面取也有很多种方法。最简单的就是在库里面元件中的属性点导出,然后在程序里就可以去实例化这
2010-09-29 17:34:00 929
原创 Flash社交游戏开发攻略连载(四)——基础控制流3
<br />前段时间比较忙,所以一直没有更新,不好意思。废话不多说,继续我们的控制流第三讲这次主要讲两个内容:1、完善插入对象以及移出对象功能 2、在合适的时候更新显示列表,并更新层深1插入以及移出对象我们设想,因为程序需要,我们要在场景中插入一个对象,但又因为其他因素,这个对象需要立刻被移出,而这之间的间隔非常小,小到在两帧之间,这个时候我们就没有必要将该对象真正插入到显示列表中(这种情况虽然不多,但是也有可能出现)。对应public var objectsToAdd:Array(待添加对象数组
2010-09-29 17:33:00 962
原创 Flash社交游戏开发攻略连载(三)——基础控制流2
<br />上一次讲了如何使用Enterframe做基础控制流的入口,我们使用了Timer配合,使得我们可以在每次进入下一帧的时候获得两帧之间的时间。现在我们讲讲如何通过tickBase方法进而去控制程序中需要控制的每一个类。这次我们用《梦想花园》中的花的成长控制作为例子。如果每一朵花都需要自动的生长,我们应该怎么做呢?没错,我们要使用tick,在每次进入下一帧的时候调用tick函数,传入时间间隔timeSpan,累加这些时间,并且判断花朵是否应该长大,从而更换花朵的状态。为此,我们写了一个新的类Bas
2010-09-29 17:32:00 602
原创 Flash社交游戏开发攻略连载(二)——基础控制流1
本来有很多想说的,可一旦真的写了,突然发现无从下手,不过这个感觉就和我第一次开发游戏一样,因此,我就从新手最容易碰到的问题上来说吧。<br /><br />很多游戏开发新手在这个问题上都会很迷茫,究竟如何去控制整个FLASH游戏?比如,我们要做一个横版飞行游戏,那么我们会设想敌机在空中飞,那么这个飞行肯定是有速度的,新手一般会想到使用Timer类来实现每隔几秒就让某个元件按照一个数学函数来移动一下位置。这的确是最直观的方法。不过这么做有两个坏处:1 每个Timer如果都是独立的,那么则无法从全局上控制流程,
2010-09-29 17:30:00 704
原创 Flash社交游戏开发攻略连载(一)
<br />如今SocailGame火爆的如日中天,AS也是热得滚烫,农场、餐厅以及花园类游戏的火爆使得很多人都打起了开发Flash游戏的算盘。作为公司项目主管,我就负责了两个项目的开发,一个是餐厅,另一个是花园。这里是游戏的链接(非广告,大家可以只看截图不点连接)接下来我会以这两个游戏开发的过程为范例,给大家分享一些在游戏开发方面的经验以及一些比较不错的技术解决方案花园游戏:餐厅游戏:<br /><br />
2010-09-29 17:29:00 764
原创 Flash Socket 底层接受数据的初级处理(as3.0)
<br />用flash去开发应用,,免不了网络通讯,特别是网络游戏,需要用到即使通讯。as3提供了两个支持即时通讯的类:XMLSocket和Socket,前者其实是只支持发送字符串,而后者就强大多了,支持发送字节,相对来说比较底层,而这也给我们更多的发挥空间。其实,flash socket的网络底层接受数据,就以与C++服务器通讯为例子,C++服务器一般会发一段一段数据过来,每段数据都是由一定结构组成的,一般是消息头和消息头,然后再逐步分层解析。在这里,我只说接受网络底层的处理,一般一
2010-09-29 16:15:00 1131
转载 [Socket+AMF3]Socket安全策略问题的解决
<br /> Flash Player安全策略问题和端口问题对于Socket(XMLSocket)的web开发一直都是很头痛的问题,经过昨天一天的研究,终于找到了解决方案了,我把解决方法在这里作一下简述!<br /> 其实Flash帮助文件也做了说明:http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/flash/system/Security.html#loadPolicyFile()。就在调用socket.connect方式之间先进行:Securit
2010-09-29 16:10:00 656
转载 BaseSocket类-可以提升Socket数据传输效率
<br />[AS3]BaseSocket类-可以提升Socket数据传输效率<br /><br />需要Flash Player 9.0或更高版本的支持<br /><br />原理就是结合AMF3和ByteArray的特性对原来数据进行压缩后再传输,这样就可以大大提高数据传输效率。<br /><br />我现在把客户端方法进行优化,现在写成一个BaseSocket类来方便调用。<br /><br /><br /><br />BaseSocket类 <br /><br />view plai
2010-09-29 16:07:00 873
转载 给合Flash的Socket和AMF3来尝试开发web游戏引擎
今天尝试用Socket和AMF3来开发web游戏引擎,用Flash的好处就是因为插件普及率高,无需用户另行安装,所以用Flash来开发丰富的Web游戏成为很好的选择。服务端仍然采用apache mina+AMF3来写Socket服务程序。演示效果图:客户端代码:游戏角色类view plaincopy to clipboardprint?/
2010-09-29 16:04:00 1015
原创 如何获取AMF3对象类名
<br />对不熟悉AMF3的人来说,这名词有点玄乎,AMF3不过两个函数而已<br /><br />//编码(把对象序列化成AMF3)<br />1 bateArray.writeObject(obj:Object):void<br /><br />//解码 (反序列化,获取对象)<br />2 bateArray.readObject():Object<br /><br />如果需要序列化的对象就是一个哈希map(key-value的集合),那么一切正常<br />但是如果你要序
2010-09-29 14:34:00 657
原创 Flex自定义鼠标右键
这里写了一个简单的自定义鼠标右键,代码不难,请看注释 其它的请大家参看官方文档 ContextMenu类 ContextMenuItem类 源码:<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" horizontalAlign="center" creationCo
2010-09-27 22:03:00 1218
原创 关于回调函数,事件模型
首先,我也是经历了“认为回调函数比事件模型好”,“认为事件模型比回调函数好”,这两个阶段都走过才来说这样的话的。其实“回调函数”和“事件模型”可以作为架构方式的两个标志。这里,我就单单说说它们的优缺点吧。 回调函数优点:1.没有内存泄漏问题2.书写简单,一个方法的回调函数数量和意义是固定的,不需要刻意查找需要的回调函数名称3.你无法对同一个内容加上两个回调函数,可以避免重复添加的问题4.回调函数的参数列表比较灵活,可以直接写,而且是固定的,写错了执行时会报错,方便排错5.回调函数以及它的参数是固定的,多了少
2010-09-27 21:54:00 689
原创 AS中使用回调函数
<br />当你想通过一个类来加载XML或者图片等,想让他返回一个XML或者Bitmap,你不能在类的构造函数直接return,因为他可能return的时候还没有load完,往往会返回一个空的,这时候你就可以尝试使用回调函数了,或者使用DispatchEvent,如果是一个小程序的话不妨试下回调函数,简单实用,代码如下: publicclass LoadXML<br />{<br />privatevar fBack:Function;<br /> <br />publ
2010-09-27 20:44:00 941
原创 Flash AS3 正则表达式
<br />1. 验证中文字符:<br /> //初始化正则表达式类<br /> var pattern:RegExp=/[/u4e00-/u9fa5]/;<br /> //需要验证的字符串<br /> var nihao:String="你好";<br /> var hello:String="hello";<br /> //输出结果<br /> trace("验证'你好'字符串的结果:"+pattern.test(nihao));<br /> trace("验证
2010-09-26 11:23:00 908
原创 Tween缓冲心得
<br />Tween缓冲<br />Tween缓冲大家应该都不陌生,说白了就是从一起始位置逐渐移动到目标位置的过程,这个过程可以是加速移动,也可以是减速移动,这些不同的缓动方式就是Tween的各种ease。<br />Tween算法<br />概念知道了,了解一下Tween的算法对我们更好的使用Tween或者编写自己的Tween都是很有帮助的。<br />在缓动过程中,随着时间的推移,对象从起始位置开始逐渐向目标位置移动,我们假设移动的距离为disX,并将其作为y轴,时间t作为x轴,这样可以轻
2010-09-21 10:34:00 866
原创 总结PureMVC中Mediator,Command,Proxy的职责
我对PureMVC的喜爱可以说到了偏执的地步...我知道这样不好。当我第一次接触它时,我就被它简洁轻量的架构所迷住,因为十分符合我个人的编码习惯了,一切从简,于是乎,之后无论公司或个人的项目,都用到了PureMVC,我知道这样也不好,但我就是偏执!说的有点跑题了..归入正题,我们知道,PureMVC由3个单例模式类组成,分别是Model,View和Controller,可以说这3层就是整个PureMVC的核心。那么这3层在框架中各自扮演着什么样的角色和其职责呢?下面总结一下。(住:示例代码片
2010-09-21 10:17:00 2677 3
原创 简单BitmapData粒子的实现
<br />发了两个“说说BitmapData”帖子之后,一些同学希望能提供源码。这次我提供了另外一个例子的源码,代码能很清晰的体现BitmapData粒子的基本做法。至于如何从这个基本结构发展成这样那样的效果,大家可以自己琢磨下。这里是演示,四万个粒子的自由落体。<br />http://www.ryan-liu.com/demo/particle/pixel_animation.html<br /><br />源码中主要分三个部分,BitmapData操作,粒子运算,和之前还没提
2010-09-21 10:05:00 599
转载 【游戏基础】内部边界卷屏
什么是卷屏对大多数的动作游戏或冒险游戏来说,游戏场景通常都会很大,而无法在游戏舞台上完全显示出来,所以如果只是靠游戏人物在舞台中移动,那么它的活动范围会被局限在狭小的舞台中。那么怎么解决这个问题呢?对,移动游戏场景!俗话说的好,树欲静而风不止,运动是相对的,背景的移动会使静止的游戏人物产生移动的效果,而场景的移动是不受限制的,我们的视角只能看到舞台大小的场景,随着场景的任意移动,游戏人物也就可以移动到场景的任意位置了,这就是我们所说的卷屏!下面我们来看一下,AS3中卷屏是怎么实现的吧!通
2010-09-21 09:38:00 788
原创 Levenshtein Distance(LD)-计算两字符串相似度算法
两字符串相似度计算方法有好多,现对基于编距的算法的相似度计算自己总结下。 简单介绍下Levenshtein Distance(LD):LD 可能衡量两字符串的相似性。它们的距离就是一个字符串转换成那一个字符串过程中的添加、删除、修改数值。 举例:如果str1="test",str2="test",那么LD(str1,str2) = 0。没有经过转换。如果str1="test",str2="tent",那么LD(str1,str2) = 1。str1的"s"转换"n",转换了一个字符,所以
2010-09-20 10:16:00 516
原创 Function中的apply函数的应用
<br />最近在研究PureMVC源码的过程中发现Function顶级包中的apply函数蛮有意思的,通过这个函数,可以及时的调用不同类中的同一个函数,这是该函数的格式:apply(thisArg:*, argArray:*):*<br /><br />指定要在 ActionScript 调用的任何函数内使用的 thisObject 的值。此方法还指定要传递给任何被调用函数的参数。由于 apply() 是 Function 类的方法,所以它也是 ActionScript 中每个 Funct
2010-09-12 13:06:00 1048
原创 去掉xml中的命名空间
有的时候xml中会带有命名空间使操作xml不方便,这时可以使用下面的方法xml类自带的函数去掉:removeNamespace(ns:Namespace):XML删除该对象及其所有子级的给定命名空间。如果命名空间由该对象的限定名称或该对象属性的限定名称引用,则 removeNamespaces() 方法不会删除该命名空间。例子:var xml:XML = xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="ht
2010-09-09 15:42:00 3546
转载 Red5源代码分析 - 关键类及其初始化过程
<br /><br />原文地址:http://semi-sleep.javaeye.com/blog/348768<br />Red5如何响应rmpt的请求,中间涉及哪些关键类?<br />响应请求的流程如下:<br />1.Red5在启动时会调用RTMPMinaTransport的start()方法,该方法会开启rmtp的socket监听端口(默认是1935),然后使用mina(apache的io操作类库)的api将RTMPMinaIoHandler绑定到该端口。<br />2.RTMPMinaIoHa
2010-09-07 10:18:00 464
转载 Red5源代码分析 - 关键类及其初始化过程
<br /><br />原文地址:http://semi-sleep.javaeye.com/blog/348768<br />Red5如何响应rmpt的请求,中间涉及哪些关键类?<br />响应请求的流程如下:<br />1.Red5在启动时会调用RTMPMinaTransport的start()方法,该方法会开启rmtp的socket监听端口(默认是1935),然后使用mina(apache的io操作类库)的api将RTMPMinaIoHandler绑定到该端口。<br />2.RTMPMinaIoHa
2010-09-07 10:17:00 447
转载 Red5源代码分析 - 关键类及其初始化过程
<br /><br />原文地址:http://semi-sleep.javaeye.com/blog/348768<br />Red5如何响应rmpt的请求,中间涉及哪些关键类?<br />响应请求的流程如下:<br />1.Red5在启动时会调用RTMPMinaTransport的start()方法,该方法会开启rmtp的socket监听端口(默认是1935),然后使用mina(apache的io操作类库)的api将RTMPMinaIoHandler绑定到该端口。<br />2.RTMPMinaIoHa
2010-09-07 10:16:00 420
转载 Red5源代码分析 - 关键类及其初始化过程
<br /><br />原文地址:http://semi-sleep.javaeye.com/blog/348768<br />Red5如何响应rmpt的请求,中间涉及哪些关键类?<br />响应请求的流程如下:<br />1.Red5在启动时会调用RTMPMinaTransport的start()方法,该方法会开启rmtp的socket监听端口(默认是1935),然后使用mina(apache的io操作类库)的api将RTMPMinaIoHandler绑定到该端口。<br />2.RTMPMinaIoHa
2010-09-07 10:16:00 392
原创 关于私有继承的一个小例子
<br />私有变量在父类函数中被调用,在子类中该变量仍然被调用,但是在子类中不能被直接引用,见下面的例子:<br />类A:<br />package com.custom{ public class A { private var m:int = 10; public var showNum:int = 0; public function A() { } public function show():void {
2010-09-07 09:59:00 551
转载 有关封装和信息隐藏的误区
<br /><br />上次介绍Python的面对对象特性 ,其中扯到了封装(Encapsulation)等概念。当时为了不跑题,没有深入聊这些概念。考虑到很多开发人员对这些概念,经常混淆不清。今天再专门来说一下。<br /><br /> ★封装 <br /> ◇什么是封装?<br /> 从字面意思来看,封装就是把一些相关的 东西打包成一坨(看到“坨”这个量词,不要想歪了)。“封装”最广为人知的例子,就是在面向对象编程(以下简称OOP)里面,把数据和针对该数据的操作,统一到一个class里。<br /
2010-09-07 09:48:00 441
转载 AS3中的原型继承介绍
<br />作者:闪刀浪子 www.iflashigame.com http://hi.baidu.com/mr_ziqiang<br /><br />原型继承是早起AS版本所使用的集成方式,在AS3中允许两种方式的集成——类继承和原型继承<br /><br />原型继承的基本原理:<br />每种类都有一个关联的原型对象,而原型对象的属性由该类的所有实例共享。 在创建一个类实例时,它具有对其类的原型对象的引用,这将作为实例及与其关联的类原型对象间的链接。 运行时,如果在类实例中找不到某属性,则会检
2010-09-07 09:23:00 442
转载 巧用原型继承解决游戏开发中的鼠标问题
作者:闪刀浪子 www.iflashigame.com http://hi.baidu.com/mr_ziqiang转载请注明出处今天在做游戏的时候游戏中有一个简单需求:有一个人物,鼠标移到上面的时候需要显示手型指针。if(MouseEvent.MOUSE_OVER) Mouse.cursor="button";但是玩家点击了攻击键之后,需要隐藏鼠标,用一个瞄准镜的MC来替代鼠标。此时当这个瞄准镜移动到人物身上的时候无需显示手型指针了。Mouse.hide();myMouse.visible=tr
2010-09-07 09:21:00 399
原创 as3对象池研究
<br /><br />为什么使用对象池?<br /> ok,我们先来看一个例子:假设游戏当中,玩家按下鼠标,那么游戏场景中出现一个美女A,代码是var A:美女A=new 美女A();addChild(A); 放开鼠标美女被清除,<br />代码是:A.dispose();A=null;如果某个玩家不停地点击鼠标,那么我们的代码将不停的NEW 美女A()而NEW 美女A()其实是很费时消耗系统性能这是问题就来了,假设NEW 美女A()消耗了2KB内存,玩家疯狂点一千次,那么我们的美女类就不断地创建,清除
2010-09-07 00:37:00 1205
原创 屏幕掉TextField右键的剪切,复制菜单
<br />其实很简单,只需要将TextField的mouseEnabled 属性置为false就可以了:<br /> var textField:TextField = new TextField();<br /> textField.mouseEnabled = false;
2010-09-02 10:07:00 620
Cocos2d-x实战 Lua卷.pdf
2018-09-11
我所理解的Cocos2d-x ,秦春林编著 ,P4381.pdf
2018-08-29
3D数学基础:图形与游戏开发高清带目录中文版.pdf
2017-07-03
xcode配置iOS10.3开发包
2017-03-29
WebGL编程指南
2016-02-20
用ActionScript开发高级可视化组件
2009-10-05
CSS.Mastery.精通CSS(中文版).part02
2008-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人