Flash游戏、Flash音乐、小游戏

加入收藏

设为主页

首页 | Flash游戏 | Flash音乐 | Flash动画 | 邻家女孩 | 动漫下载 | 小说 | 动漫资讯 | 免费博客

Flash游戏 | 动漫COSPLAY | 手机世界 | 游戏新闻 | IT业界 | 动漫设计 | 软硬件交流

首页>>动漫设计>>正文游戏开发系列一:游戏中的敌人(3)

将woogood加入收藏夹 | 将woogood设置成为你电脑首页

搜索 SEARCH

    

游戏开发系列一:游戏中的敌人(3)

作者:[] 来源:[闪客帝国] [2005-8-15 17:40:43] [对"游戏开发系列一:游戏中的敌人(3)"发表评论]

最新文章

·隐藏卸载信息:跟入侵者玩躲猫猫
·网络新威胁 无线局域网入侵检测现
·宽带用户易被攻击 用户需注意七大
·如何查找和清除线程插入式木马程
·日志分析两部曲:充分利用日志保
·安全设置Windows组策略 有效阻止
·实现了!中文WinXP安装IE7 Beta1
·黑客破解Email账号常用的三种方法
·基础知识 XST攻击理论及手法讲解
·威胁同样巨大 基于Telnet协议的攻

推荐文章

·请教看电影多的人问题
·文字处理软件疑难问题求助,
·求助:Excel问题
·在线等...........
·大家都是怎样用摄像头的?发
·如何加启动程序?急
·midia player classic使用时
·关于IE,请大家帮助
·IE被改用兔子也没用啊??
·播放器问题,大家帮帮忙啊

  上一次,我们限制了敌人的范围,这次,我们再做进一步的限制。

  三、指定范围内的跟踪深化

  再看看这个例子:

  现在的敌人的视线范围比较真实了,它一直在四周查看,只有当你进入它的视觉范围的时候,敌人才会来追赶你。

  这就是有指定范围的跟踪敌人,它的原理是和前面一样的:

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

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

  下面是完整的第一帧源代码:

var enemySpeed:Number = 1;
var enemySightSpeed:Number = 1;
var dx, dy:Number;
/* functions */
tracker = function () {
	player._x = _xmouse-10;
	player._y = _ymouse-10;
	dx = player._x-enemy._x;
	dy = player._y-enemy._y;
	if (enemy.range.hitTest(player._x, player._y, true)) {
		if (Math.abs(dx)>=enemySpeed) {
			enemy._x += ((dx>=0) ? enemySpeed : -enemySpeed);
		}
		if (Math.abs(dy)>=enemySpeed) {
			enemy._y += ((dy>=0) ? enemySpeed : -enemySpeed);
		}
	} else {
		enemy.range._rotation += enemySightSpeed;
		enemy.range._rotation %= 360;
	}
	updateAfterEvent();
};
/* run it*/
setInterval(tracker, 10);

  蓝色部分是我们新添加的代码,在敌人没有看到玩家的时候,会自动在原地巡视,如果发现玩家进入视觉范围,酒会开始追赶。

  为了简单理解,我们没有加入更多的代码,因此看起来敌人是侧着身子追过来的,经过简单的计算,添加适当的代码,敌人酒会表现得更为真实,这个课题就留给您自己去解决吧。

  这次的源代码请在这里下载。

  到此为止,简单的跟踪敌人就实现了,下一次,我们要开始讲解另外一些情况,请继续关注啊!

(待续)

相关文章:

对"游戏开发系列一:游戏中的敌人(3)"发表评论:

会员名称:
密码:匿名 ·注册·(匿名无须填写密码)
评论内容:
(最多300个字符)
  查看评论

热门Flash 最新Flash 热门小说 最新小说

 

Copyright@2005-2006 精品Flash www.WooGood.com All Right Reserved

联系信箱: gold1686tom.com