08 2011 档案

AS3多人游戏开发—同步人物移动2
摘要:上次我们有探讨到鼠标点击的情况下,人物移动同步的问题(http://www.cnblogs.com/cnas3/archive/2011/05/28/2061028.html),今天我们看看使用方向键控制的人物移动如何实现同步。 键盘控制和鼠标控制不同的地方在于,鼠标点击我们知道我们的avatar移动的终点,在键盘控制中,我们并不知道终点,但我们可以知道一些其他有用的信息,比如运动方向,速度,当前位置,我们来看看如何利用这些信息。 假设avatar1是一个玩家1电脑上的人物,它在玩家2电脑上的表示是avatar2,玩家1按下方向键,avatar1开始运动,同时发送当前位置p1,方向,速... 阅读全文

posted @ 2011-08-20 18:55 Dongxue.xie 阅读(1703) 评论(0) 推荐(0)

Molehill初探
摘要:关注flash的同学肯定都知道Adobe推出了新的基于硬件加速的API Molehill。它可以在60Hz左右的高分辨率显示器下全屏渲染近百万的Z缓冲三角形。就算你的显卡不兼容,也会通过一个叫SwiftShader软件来利用CPU进行渲染。 我们熟悉的2D显示列表位于Molehill的Stage3D上面,而Stage3D又位于StageVideo上面。实际上3D内容可以通过bitmapdata呈现在2D显示列表中。 下图表示了Molehill的基本架构 下面的代码在Stage3D中创建了一个三角形,从中我们可以略微熟悉一下这套API的用法package { import com.adobe.. 阅读全文

posted @ 2011-08-19 16:03 Dongxue.xie 阅读(1378) 评论(0) 推荐(0)

用Flash模拟小车
摘要:最近学驾照,对倒桩总是很纠结。师傅让我死记住口诀,可是我却觉得倒车靠的的是对几何知识的掌握和对路线的不断修正。最后,弄了一个小游戏,来模拟小车,增加自己倒车的感觉。不过考试的时候还是根据师傅的口诀来保险点。 如Flash无法播放,请下载安装最新的FlashPlayer 键盘上的上下键分别表示前进和后退,左右键表示左右打方向,空格刹车。如果按键没有反应,请先用鼠标点击下Flash,使其具有焦点。 游戏中我们使用了MVC模式来控制小车,View就是我们屏幕上见到的小车,Model是小车的数据,比如位置,旋转度,速度等,而Controler用来改变Model,比如前进,后退,转向。我们小车的所有动. 阅读全文

posted @ 2011-08-16 11:11 Dongxue.xie 阅读(648) 评论(0) 推荐(0)

行为树
摘要:行为树常被用来实现游戏中的AI。每次执行AI,都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点。下面是基本的四个节点:1 *顺序节点(Sequence):属于组合节点,顺序执行子节点,只要碰到一个子节点返回false,则返回false,否则返回true,类似于程序中的逻辑与。2 *选择节点(Selector):属于组合节点,顺序执行子节点,只要碰到一个子节点返回true,则返回true,否则返回false,类似于程序中的逻辑或。3 *条件节点(Condition):属于叶子节点,判断条件是否成立。4 *执行节点(Action):属于叶子节点,执行动作,一般返回true。 阅读全文

posted @ 2011-08-14 21:33 Dongxue.xie 阅读(12093) 评论(14) 推荐(3)

在Flex/Flash中自定义Metadata tag
摘要:经常使用flex进行开发的朋友肯定对metadata tag不会陌生,比如大家常用的[Bindable],[Event]都是metadata,它的作用是为Flex编译器提供组件如何使用的信息。比如说你在组件中定义了一个事件,如果你想让flex编译器知道这个事件,从而在其他MXML中引用它,你就应该插入一个[Event]的metadatatag,代码应该像下面这样。[Event(name="myEvent", type="flash.events.Event")]我们已经习惯了官方提供的metadata,那我们能否自定义metadata呢,答案是肯定的,现 阅读全文

posted @ 2011-08-12 16:23 Dongxue.xie 阅读(1122) 评论(0) 推荐(0)

对PureMVC(AS3版本) 的一些想法
摘要:在PureMVC中,为了实现更加彻底的解耦,View中使用了Mediator,model中使用了Proxy,Controler中使用了Command,他们的通信通过Notification进行。Notification会激发Command的执行,也会激发Mediator中的handleNotification方法。 观察其源代码,在内部实现上,Controler中注册Command,实际上是在Controler中调用了View的registerObserver方法来注册观察者,传入自己的executeCommand方法作为回调函数。然后所有的notification都是传入了View的n... 阅读全文

posted @ 2011-08-11 11:13 Dongxue.xie 阅读(1205) 评论(0) 推荐(1)

导航