当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 编程深层次应用-复杂游戏(3)

Flash动画制作
Flash教程:纯AS编写蝌蚪摆尾动画效果
Flash鼠绘新手入门第一课:认识鼠绘
Flash教程:打造月夜下飞翔的蝙蝠动画
Flash教程:制作可爱吹泡泡动画效果
Flash教程:打造仿奥运开幕式卷轴动画效果
Flash基础教程:制作鼠标跟随星星动画
Flash教程:制作淡雅动态网页菜单:蜻蜓飞飞动画效果
Flash鼠绘教程:绘制写真苹果的方法
Flash新手入门教程:AS2代码制作鼠标跟随龙舟效果
Flash鼠绘教程:绘制清新可口的芒果
Flash鼠绘教程:教你绘制一盘逼真的水仙花
Flash鼠绘教程:临摹徐悲鸿的骏马图
Flash鼠绘教程:绘制香甜可口的香瓜
Flash新手入门教程:鼠标跟随漂亮光圈特效
Flash新手入门教程:打造鱼缸中游动的鱼动画效果
Flash新手入门教程:AS代码制作五彩缤纷旋转效果
Flash鼠绘教程:打造唯美渔舟唱晚效果
Flash教程:打造鼠标跟随羽毛扇动画效果
Flash新手入门教程:AS代码实现鼠标跟随文字特效
Flash新手入门教程:AS代码实现神奇叠层效果

Flash动画制作 中的 Flash MX 编程深层次应用-复杂游戏(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 61 ::
收藏到网摘: n/a

5.3 游戏的智能

    

在现代社会中,一个蠢笨的游戏是没有人来玩的,因为人会学习,而程序是不会学习的。因此,要让游戏好玩一些的好办法就是让游戏具有一点智能。当然了,这种智能达不到人工智能的水平,但是至少可以通过程序对游戏环境的变化或者条件的变化来增加游戏的难度与可玩性。

首先,先讲一个随机掷骰子的智能问题。不知大家有没有玩过掷骰子的游戏,就是掷一个骰子,然后玩家赌大小,这个游戏最方便做智能了。请看下面的代码:

number = random(6)+1;

if (用户选择大 and number>=4) {

  number = random(6)+1;

} else {

if (用户选择小 and number<=3) {

  number = random(6)+1;

}

}

if (用户选择小 and number<=3) {

  trace("恭喜,赌正确了");

}

if (用户选择大 and number>=4) {

  trace("恭喜,赌正确了");

}

这样编程很明显就让游戏难度增加了。表面上看好像计算机只出了一个随机数,但是,程序运行时实际上出了两次随机数。第一个随机数根本不显示出来,只有两次都正确才叫正确,这就是最简单的游戏智能!让我们看看还有什么办法给游戏增加智能吧。一般智能可分成下面几种情况:

敌人跟随或追踪子弹

      

这个应该是最常见的了,在很多小游戏里经常见到。最简单的是根据游戏主角和跟踪物体的坐标计算出角度,然后把它运动的方向改为朝游戏主角运动,再配上不同的速度或者曲线方程,将它完成得非常流畅。

复杂一些的还可以增加障碍物。这时,就需要让敌人移动的算法复杂一些,可能要让“它”计算一下。具体的计算方式是根据具体的游戏情况来制定的,多数要求不高的游戏用简单的数组就可以解决了。

敌人进行攻击

简单的游戏里,可能敌人一直在攻击。但是大多数游戏里面,敌人还是表现出一些“狡猾”,他们在主角靠近的时候才采取行动。比如说主角靠近时用剑来攻击,在离得较远时就用远距离的攻击方式比如魔法攻击或者发射子弹等。

最简单的解决方法就是判断两者之间的最短距离,在中就是中心点之间的距离。它的计算公式就是Math.sqrt((x–x1)*(x–x1)+(y–y1)*(y–y1)),其中(x,y)