繁体中文
设为首页
加入收藏
当前位置:网站制作首页 >> Flash教程 >> 游戏制作:游戏的任务事件处理解决方案

游戏制作:游戏的任务事件处理解决方案

2007-02-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:  效果: 点击这里下载源文件   在做游戏的时候,特别是rpg游戏,常常有很多任务,以下是我的游戏任务解决方案,提供出来大家分享:   第一步:首先写一个 任务的类 task.as class task { //定义事件的名称,进度...

  效果:

点击这里下载源文件

  在做游戏的时候,特别是rpg游戏,常常有很多任务,以下是我的游戏任务解决方案,提供出来大家分享:

  第一步:首先写一个 任务的类 task.as

class task {

//定义事件的名称,进度,描述

var SjName, SjJd, SjMs;

function task(N, J, M) {

SjName = N;

SjJd = J;

SjMs = M;

}

//显示单个任务信息

function SjInfo(a) {

if (a == 1) {

return SjMs;

}

return SjName;

}

//完成任务

function SjFinish() {

if (SjJd==0) {

SjJd = 1;

} else {

trace(SjName+"的任务,已经完成或者未触发");

}

}

//触发任务

function SjOpen() {

if(SjJd==-1)

{

SjJd = 0;}

else{

trace(SjName+"的任务,已经触发或者完成");

}

}

}  第二步:在task.as目录下面新建Flash 测试.fla,在第一帧里面声明 游戏的所有任务

//定义事件 (名称,进度,描述)

var Sj1:task = new task("帮助王大爷", -1, "到附近的铁牛山帮助王大爷看看他的外孙");

var Sj2:task = new task("帮助千秋学找媳妇", -1, "到重庆去找帮千秋学媳妇");

var Sj3:task = new task("帮助李大爷", -1, "送信给隔壁村子的张阿姨");

var Sj4:task = new task("帮助赵员外", 1, "到附近的丹霞岭帮助赵员外采集草药");

var Sj5:task = new task("帮助李铁匠", 0, "李铁匠的女儿被山贼给掳走了,在黑风洞里面区找线索");

var Alltask = new Array(Sj1, Sj2, Sj3, Sj4, Sj5);

//显示事件列表

function ShowShijian() {

_root.Info = " 系 统 消 息
========================
";

for (var i:Number = 0; i<_root.Alltask.length; i++) {

if (_root.Alltask[i].SjJd == 0) {

_root.Info += "
"+(i+1)+"、"+_root.Alltask[i].SjMs+"[进行中]
----------------";

}

if (_root.Alltask[i].SjJd == 1) {

_root.Info += "
"+(i+1)+"、"+_root.Alltask[i].SjMs+"[已完成]
----------------";

}

if (_root.Alltask[i].SjJd == -1) {

_root.Info += "
"+(i+1)+"、"+_root.Alltask[i].SjMs+"[未触发]
----------------";

}

}

}  第三步:在第一帧上面放入以下元件

1、画一个动态文本,属性设置如下:多行显示,允许html,变量为info

2、拖入1个Flash的button组件 ,属性如下:参数label为:得到任务列表,加上以下AS

on(click)

{

_root.ShowShijian();

}

  3、拖入1个Flash的button组件 ,属性如下:参数label为:激活事件1,加上以下AS

on(click)

{

_root.Sj1.SjOpen();

_root.ShowShijian();

}

  4、拖入1个Flash的button组件 ,属性如下:参数label为:激完成任务1,加上以下AS

on(click)

{

_root.Sj1.SjFinish();

_root.ShowShijian();

}

  到这里就完成了。

责任编辑:admin
相关文章