- 浏览: 95128 次
- 性别:
- 来自: 上海
最新评论
文章列表
近年来,游戏产业的快速发展带动了游戏中人工智能(Artificial Intelligence,简称AI)的发展,越来越 多的游戏采用人工智能技术提高游戏的可玩性。在电子游戏中,玩家操控主要角色,而其他角色的行为逻 辑由人工智能操纵,这 ...
as3中ProgressEvent的bytesTotal始终为0
遇到很奇怪的问题,as3中监听资源下载的PROGRESS事件(ProgressEvent.PROGRESS),它的bytesLoaded属性倒是正常的,但bytesTotal属性却始终为0,结果是导致了得到的下载比率为无穷大(Infinity)
evt.bytesLoaded / evt.bytesTotal <==> evt.bytesLoaded / 0
在网上搜索了一下,有以下三种情况导致bytesTotal始终为0:
1、如果将进度事件调度/附加到某个 Socket 对象,则 bytesTotal 将 ...
当你开发了一个有着多个Pacakge的类库,并在MXML中使用他们时,有没有发现这样的不便:你需要为隶属于不同Package创建的组件声明各自的pacakge-style namespace,例如下图中ClassA和ClassB:
你可能需要这样引用它们:
当引用的组件类处于很多不同的Package中时,你的代码将会变得复杂和混乱。另外,如果类库的包结构发生变化,你必须要更新所有的Client代码,解决这个问题的最好办法是使用URI-Style的Namespace来编译你的类库。以下是一个Step by Step的教程:
1) 编写类库的源文件,例如上面例子中的ClassA, Cl ...
Flex的Tree组件自动展开的代码
function init()
{
tree.dataProvider=dataList;
tree.callLater(expendTree);
}
private function expendTree():void
{
tree.expandItem(dataList.node[0],true,false);
tree.expandItem(dataList.node[1],true,false);
}
在使用flex的时候如果没有安装debug版本那么在每次运行的时候都会出现一个需要安装debug的提示框,可以在以下地址中安装。
http://www.adobe.com/support/flashplayer/downloads.html
教程:实时环境映射贴图技术实时环境映射贴图技术(Real-time Evironmnet Mapping)
如果你是个赛车游戏的爱好者,你一定玩过风靡全世界的赛车游戏《极品飞车:地下狂飚2
》 (Need For Speed : UnderGround2)。在这款游戏中,玩家扮演了一个靠赛车为生的地下飚
车手,在永远是夜晚的城市中飞驰。这款游戏大量地运用了环境映射技术(Real-time
Evironmnet Mapping),例如下过雨的公路上看到两旁夜景的倒映、玩家车身上对周围环境的真
实反射等等,这些都是环境映射技术的功劳。这种最酷、最华丽的特效现在已经被应用在大量
...
swf文件中的所有代码定义都存在于应用程序域中,可以使用应用程序域划分位于同一个安全域中的类,这允许同一个类存在多个定义,并且还允许子级重用父级定义。
1.加载到子域
类似于“继承”,子域可以直接获得父域所有的定义;反之,父域得不到子域的。
和继承关系不同的是,如果子域中有和父域同名的类,子域定义会被忽略而使用父域的定义
2.加载到同域
类似集合里的合并关系。被加载的swf文件里的所有类定义被合并到当前域中且
可以直接使用。和加载到子域相同,和当前域同名的域也会被忽略。
3.加载到新域
swf载入指定域之前,先要检查该域 ...
Flex由于在其Framwork里加入了DragDrop管理器,可以使得开发者在Flex应用中实现类似桌面的效果,默认情况下,Flex的拖拽管理器是针对List等控件的,实现这类控件之间的Item拖拽非常容易。下面是一个很简单的小例子
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="450" ...
在使用python的时候我选择的是python-2.6-stackless.msi和pywin32-214.win32-py2.6.exe进行安装使用的
Python 提供了两个基本的 socket 模块。第一个是 Socket,它提供了标准的 BSD Sockets API。第二个是 SocketServer,它提供了服务器中心类,可以简化网络服务器的开发。Python 使用一种异步的方式来实现这种功能,您可以提供一些插件类来处理服务器中应用程序特有的任务。
在python的服务器端代码如下:
if __name__ == '__main__':
import socket
s ...
一直用AS3+Red5做一些小游戏,感觉挺方便的,特别在做上下线的功能的时候很方便,Red5都帮我们封装好了,所有需要的方法。基本调用就可以,但是在做大并发访问的时候,Red5就成了一个瓶颈,这个时候用socket是很好的解决办法,可以选择java的socket或是AMFsocket都是可以的,但是真正要提高效率,就要Python和C/C++的iocp来实现,今天做了一个简单的例子,我喜欢使用eclipse IDE,要在eclipse中安装python是很方便的,使用eclipse的软件更新 地址 http://pydev.org/updates就可以下载下来就可以在eclipse中使用了,同时 ...
在使用red5+flash做rpg游戏开发的时候有些功能是需要服务器来提供的,如最简单的多人用户上线,当一个用户上线后后要通知所有其他的用户,这个时候就需要red5去获取所用链接的客户端,然后通知客户端用户上线。当用户下线的时候,也是同样的需要red5的支持。
我在开发的时候是使用red5 0.8的版本。
下面详细介绍一下具体的实现。
ApplicationAdapter是客户端与red5连接的基础类:
下面来介绍一下调用的顺序,和建立so的方法。
第一步:
RED5服务器启动后,开始加载,此时只能获取应用的SCOPE
public boolean appStart(IScope arg0) { ...
将mc转换成bitmap首先得建立一个BitmapData,使用BitmapData的draw方法或是BitmapData.copyPixels方法绘制。
var mc:MovieClip = new MovieClip();
var mBit:BitmapData = new BitmapData(mc.width,mc.height, true, 0xffffff);
mBit.draw(mc);
var bitmap:Bitmap = new Bitmap(mBit);
使用flash渐变遮罩时,需要指出Alpha通道遮罩,首先要创建一个渐变的MC,同时要将MC做图片缓存,另外被遮罩的图片也需要做图片缓存,具体实现如下。
var loader:Loader=new Loader();
var req:URLRequest=new URLRequest("img.jpg");
loader.load(req);
this.addChild(loader);
var ellipse:Sprite=new Sprite();
var colors:Array=[0x000000,0x000000];
var alphas:Array=[1,0];
...
当你优化你的程序时,要考虑到许多因素。性能的优化并不仅仅与你使用 Papervision3D 的方式
相关。最后所说的是关于如何在 Flash 中进行性能的优化。让我们先测试一些并不只与
Papervision3D 有关的优化技巧。
舞台品质
将 stage quali ...
var func:Function = Math.max;
trace(func.apply(null,[4,5,6,7,8,9]));
该方法能在flash 数组中找到最大值。
分析通过Function方法的applay其实就是调用Math.max方法然后传入这些参数,返回最大的一个。