闪客帝国:教程 闪客帝国教程 zh-cn 叶子 Allan 闪客帝国 闪客帝国 <![CDATA[游戏开发系列一:游戏中的敌人(2)]]>   上一次,我们已经学习了最基本的敌人跟踪方法,这次,我们来限制一下敌人。


  二、指定范围内的跟踪


  首先看看这个例子:





  现在的敌人周围有了一个范围,那么,只有当你进入这个范围的时候,敌人才会来追赶你。


  这就是有指定范围的跟踪敌人,它的原理是:



如果(玩家进入敌人范围)
{ 如果(玩家x坐标 <> 敌人x坐标){
调整敌人x坐标,趋近玩家x坐标
}
如果(玩家y坐标 <> 敌人y坐标){
调整敌人y坐标,趋近玩家y坐标
}
}

  这个应该不难理解吧,我们可以理解为:敌人有一个视力范围,只要玩家进入这个范围,敌人就会进行追踪。这个的解决方法也不复杂,普通的算法是判断玩家和敌人的位置,如果两者之间距离达到或者小于一定的值,那么敌人就开始追踪。在 Flash 里面,我们更可以用简单的碰撞来实现,这样代码就更少了。


  我们可以在 enemy 里面放置一个圆形的范围,给一个实例名叫做 range,那么,enemy.range 就是敌人的视力范围了。


  这样,我们通过判断玩家是否和敌人的视力范围碰撞就可以实现这个效果了,下面是完整的第一帧源代码:


var enemySpeed:Number = 1;
var dx, dy:Number...

完整阅读本文...]]> 2004-12-03 <![CDATA[游戏开发系列一:游戏中的敌人(1)]]>   对于目前的 Flash 来说,开发一些像模像样的游戏并不是什么奇怪的事情了。我这里所涉及到的内容和开发游戏有关,但是都是一些比较基本的知识。如果您是游戏开发方面的高手,那么完全可以忽略我这里所描述的内容。我的计划是要做一系列的教程,这是其中一个系列。


  游戏是一个交互作品,简单说,就是通过用户的行为,会对这个作品的进程产生一定的影响。说到游戏,总要提到难度,游戏的难度在于:当你想要达到某种目的的时候,你会发现它的实现多少有些困难,困难越难克服,难度也就越大。不同类型的游戏有不同的难度,以及不同的实现方法。比如:俄罗斯方块通过改变方块下落的速度来改变游戏的难度,空战射击游戏通过不同的敌机以及不同的 Boss 来实现不同的难度。


  在这个系列里面,我们想和大家一起研究一下游戏中敌人的运动方式,一点一点来。AS 基础最好是有一些,不然会稍微有些头疼。


  一、最直接的跟踪


  首先看看这个例子:





  假定红色圆圈是玩家,绿色圆圈是敌人,移动你的鼠标,敌人就会跟着你跑。


  这就是最简单的跟踪敌人,它的原理是:


如果(玩家x坐标 <> 敌人x坐标){
调整敌人x坐标,趋近玩家x坐标
}
如果(玩家y坐标 <> 敌人y坐标){
调整敌人y坐标,趋近玩家y坐标
}

  这应该是极其容易理解的。那么具体的代码实现应该是什么样子的呢?


...

完整阅读本文...]]>
2004-12-01
<![CDATA[FLEX里HTTPService需注意的事项]]>   在FLEX里用HTTPService等都是需要Proxy的,这和原来用flash的时候大不一样。

  首先注意的是在HTTPService tag里有一个属性useProxy,属性值为true/false,默认属性为true。

  这不同于flash里的loadVars或XML。

  在WEB-INF/flex的flex-config.xml里第317行有这么一句注释:

For security, the whitelist is locked down by default.
Uncomment the first two urls below to enable access to all URLs
or add above the individual URLs you wish to access.

  也就是说出于安全的考虑flex里的白名单(whitelist)是需要使用这自己修改的,unnamed list默认只有本地的http://{localserver}/*和https://{localserver}/*可以访问。其他的需要在flex-config.xml里的自行修改。

  比如我们要访问80s的rss2.asp文档,我们就可以在后面加上
  <url>http://www.80s.net.cn/*</url>
  这和flash里的跨域访问不太一样,在flash中如果要跨域访问就需要在别人的website根下放置crossdomain.xml,或者用web脚本做代理,具体方法参考:
  http://www.80s.net.cn/blog/comment.asp?Id=7

  在flash里用loadVars.sendAndload("*.jsp","POST");,这样一旦有人反编译了导出的swf,这样就有可能向服务器端发送垃圾数据,但在flex里我们可以在named list里给service取名,这样就以为着更安全,就算别人反编译了导出的swf也只能看到serviceName,而不知道具体的地址。
如果你不需要这些功能,MM也给了解决的方法,就是把useProxy的值给false。



完整阅读本文...]]>
2004-11-25
<![CDATA[RIA的到来(译)]]>
  开始:

  今天,富应用正在全世界范围内向我们快步走来,而且有些领域已经显露出来。今天早晨我在Macromedia's MAX开发者大 会上每个类别都举了一些例子——现在我把它们的连接放到这里:

1,Expressive Content(富有表现力的内容)
第一个类别是Expressive Content,这也是flash首创的。在flash继续在低带宽的网络下被用来创造更好的用户体验时, 我们已经注意到了在宽带网络上的对更好的用户体验的需求正在迅速增加。最好的例子是网络视频。flash无疑是占有率 第一的视频播放软件(占有率超过了96%)。这意味着用户不必再去选择用什么播放器软件,flash都能搞定。

Toyota Isis
Philips Home Entertainment
Red Bull Copilot

2. Guided Selling(导购/引导购物)
现在许多人都开始在网上购物,这也使我们有机会创造更多的交互体验。这将要求有在线查找商品,整合所选商品,然后 去结帐这个过程。这将有机会让我们创造更好的交互体验,并且我们看到flash将会变得更加有用。在下面这些例子中, 你会看到flash有助于增加用户反馈和减少错误——结果会增加用户的满意率,从而增加更多的回头客。

Nike iD
Vodafone (click on the Handy Finder item)
ANA (click on the button in the center labelled ANA Passport)
完整阅读本文...]]>
2004-11-22
<![CDATA[界面教程系列之四:颜色调节器]]> 效果预览:

教程原文:

源码打包下载

(完)



完整阅读本文...]]>
2004-11-15
<![CDATA[思妙FLASH2004系列教程(6)-引导线]]> 思妙的动画以其幽默和精美被广为流传,现在思妙推出了系列教程,以其惯有的幽默生动的讲解了FLASH动画的入门知识,闪客帝国被授权转载,本篇为初级教程的第六课:引导线。





思妙文化授权转载


(完)



完整阅读本文...]]>
2004-11-12
<![CDATA[思妙FLASH2004系列教程(7)-按钮]]> 思妙的动画以其幽默和精美被广为流传,现在思妙推出了系列教程,以其惯有的幽默生动的讲解了FLASH动画的入门知识,闪客帝国被授权转载,本篇为初级教程的第七课:按钮。





思妙文化授权转载


(完)



完整阅读本文...]]>
2004-11-12
<![CDATA[思妙FLASH2004系列教程(8)-颜色渐变]]>   思妙的动画以其幽默和精美被广为流传,现在思妙推出了系列教程,以其惯有的幽默生动的讲解了FLASH动画的入门知识,闪客帝国被授权转载,本篇为初级教程的第八课:颜色渐变。





思妙文化授权转载


(完)



完整阅读本文...]]>
2004-11-12
<![CDATA[思妙FLASH2004系列教程(9)-给源文件减肥]]>   思妙的动画以其幽默和精美被广为流传,现在思妙推出了系列教程,以其惯有的幽默生动的讲解了FLASH动画的入门知识,闪客帝国被授权转载,本篇为初级教程的第九课:给源文件减肥。





思妙文化授权转载


(完)



完整阅读本文...]]>
2004-11-12
<![CDATA[思妙FLASH2004系列教程(10)-设置影片制作、播放、打印的参数]]>   思妙的动画以其幽默和精美被广为流传,现在思妙推出了系列教程,以其惯有的幽默生动的讲解了FLASH动画的入门知识,闪客帝国被授权转载,本篇为初级教程的第十课:设置影片制作、播放、打印的参数。





思妙文化授权转载


(完)



完整阅读本文...]]>
2004-11-12
本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2004-12-11 · 原址 http://www.flashempire.com/include/rss/rssTutor.php ← Flash 保存计划