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

解决

  效果:

点击这里下载源文件

  在做游戏的时候,特别是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 = " <font color=\"#000000\">系 统 消 息</font> <br>========================<br>";
        for (var i:Number = 0; i<_root.Alltask.length; i++) {
                if (_root.Alltask[i].SjJd == 0) {
                        _root.Info += "<br>"+(i+1)+"、"+_root.Alltask[i].SjMs+"<font color=\"#FFF000\">[进行中]</font><br>----------------";
                }
                if (_root.Alltask[i].SjJd == 1) {
                        _root.Info += "<br>"+(i+1)+"、"+_root.Alltask[i].SjMs+"<font color=\"#FF0000\">[已完成]</font><br>----------------";
                }
                if (_root.Alltask[i].SjJd == -1) {
                        _root.Info += "<br>"+(i+1)+"、"+_root.Alltask[i].SjMs+"<font color=\"#999999\">[未触发]</font><br>----------------";
                }
        }
}  第三步:在第一帧上面放入以下元件
        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();
                        }
                  到这里就完成了。

时间: 2024-08-30 01:43:41

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

发的说法-flash和directx制作游戏

问题描述 flash和directx制作游戏 2d游戏方面比如directx8.0做的特效都是cpu做的像素计算,又比如旋转都是单cpu做的,非常消耗CPU,但用flash没那么高是不是2D计算不单纯用CPU还利用用了显卡 解决方案 一款flash(swf)文件的转换软件,目的是让用户可以将自己的swf文件转为独立的exe可执行程序,而不再需要在网页等容器中运行swf.将一个.swf文件打包成为一个独立的.exe文件后,双击打包后的.exe文件即可自动播放swf,同时swf需要的外部资源文件也无

java记忆翻牌游戏代码-JAVA做出记忆翻牌游戏,菜鸟想学习JAVA的游戏制作

问题描述 JAVA做出记忆翻牌游戏,菜鸟想学习JAVA的游戏制作 20C 1.界面打开为网格,每个网格放一张图片,图片两两相同2.点开两张图片若是一样则显示,若是不一样,显示50ms,变为背面.3.每轮游戏结束时显示总共花费时间.4.重复步骤2,直到所有图片显示出来 解决方案 http://download.csdn.net/detail/gaoda871010/2652900http://www.educity.cn/xiazai/8649772.html 解决方案二: 看下我写的这个怎么样.

c++游戏-C++小游戏制作的问题 新手求助~

问题描述 C++小游戏制作的问题 新手求助~ 老师给留的C++小游戏项目作业...想做一个类似于天天酷跑,爱丽丝快跑之类的跑酷游戏,不需求界面,就是只在黑色的小窗口里实现就行.但是不知道如何将地图随着时间给刷新出来,请大神们给个思路~ 解决方案 可以用openGL. 解决方案二: 用cocos2dx做 解决方案三: DOS下的字符界面吗

c语言游戏制作的有关问题

问题描述 c语言游戏制作的有关问题 在初步了解要了c语言的基本语法之后,想自己做做小游戏,比如贪食蛇之类的,应该再学些什么内容呢? 解决方案 可以学一下sdl,有sdl库支持的话,一般的游戏逻辑都可以贴图转化. 解决方案二: 可以学一下sdl,有sdl库支持的话,一般的游戏逻辑都可以贴图转化. 解决方案三: 所有的游戏都离不开逻辑和渲染,C语言在逻辑方面可以胜任,但在画面呈现方面就差了些,鉴于你要做的游戏类型 可以考虑用控制台实现 解决方案四: 可以学习些数据结构和sql方面的 解决方案五: 数

Flash游戏制作:打砖块

打砖块游戏大家都很熟悉:游戏者用一个挡板对小球进行反弹,上方排列了一些方块砖,游戏的目的就是利用鼠标对挡板进行左右移动控制,以便将小球挡回去,避免小球落到挡板的下方,挡回去的小球将与上面的方砖发生碰撞,被碰撞的方砖会自动显示,玩家每打掉一块方砖,会得到一定的分数. 在本实例中每局中玩家的生命值为5,如果将当前界面中的方砖全部打完,则进入下一关.游戏开始允许玩家选择游戏难度:初级.中级和高级,不同的难度中方砖的数量和小球运动的速度不同,玩家可以根据自己的水平来选择合适的游戏难度. 游戏制作思路:

flash8的游戏制作(地图篇)

研究flash 8制作mode7模式头大中.......抽空把以前的rpg引擎用flash 8改了下. 下面先介绍下关于地图的制作(本文章适合与对tiles模式了解并对flash8有一定了解的人) 过去制作游戏的时候,经常会为了切割地图而浪费时间.经常会为了地图过大.拖动过于耗机而烦恼.现在这一切都不成问题了.只要你掌握flash8 bitmapdata的基础运用既可. 这次改造后的地图采用导入整张地形图的方式,由as控制切割调用后生成整个map,再由flash切割调用给适当的场景. 效果如下(

高级游戏制作:Flash制作物体弹跳电脑游戏

高级 标签:flash游戏开发 Flash实例教程 Flash Actionscript制作游戏 Flash高级技巧. Flash制作物体弹跳电脑游戏,这是一种背景不动的一个物体可以弹跳,可以左右走动的小游戏.比较基础的游戏.在文章的最后提供所有演示的Flash源文件. 启动Flash,首先修改文档属性. 首先制作两个电影剪辑一个是背景,绘制一个矩形小块来当背景.加入AS为:stop(),让它开始就停止. 另外一个是运动的物体,给大家截图如下. 回到主场景,我们用Actionscript来实现其

教你用python制作游戏外挂

玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?(当然用外挂不是那么道义哈,呵呵),那我们就来看一下如何用python来制作一个外挂.... 我打开了4399小游戏网,点开了一个不知名的游戏,唔,做寿司的,有材料在一边,客人过来后说出他们的要求,你按照菜单做好端给他便好~ 为啥这么有难度?8种菜单记不清,点点就点错,鼠标还不好使肌肉劳损啥的伤不起啊-- 首先要声明,这里的游戏外挂的概念,和那些大型网游里的外挂可不同,不能自动打怪,不能喝药不能躲避GM-- 那

Win7旗舰版系统下打开QQ游戏提示脚本发生错误的解决方案

  qq游戏是腾讯推出的一款在线休闲游戏平台.可以使用QQ直接登陆QQ游戏,很多人在闲暇时间会玩QQ游戏来打发时间,不过有用户反映说在win7旗舰版系统下打开QQ游戏的时候,就会弹出一个脚本错误的窗口,提示当前页面的脚本发生错误,导致无法玩QQ游戏,要怎么解决这个问题呢?接下来小编跟大家分享一下关于这个问题的解决方案吧. 一.删除所有临时的 Internet 相关文件 1)启动 Internet Explorer.在"工具"菜单上,单击"Internet 选项",选

三维程序/游戏制作基本常识

flash3d初学者都是从flash或平面绘制转型的,对三维方面的常识的确理解甚少,即使是天天玩三维游戏的人.虽然这些信息对一些三维经验丰富的朋友是简单的不能再简单的东西,但写这一篇对某一些新上手的朋友是有必要的. 建模 除非简单几何体,任何复杂一点的模型和贴图位置,都只能靠其他三维软件导入,这不光是flash3d的常识,也是游戏制作的基本常识. 甚至很多朋友会以为既然用flash是可以'画'图形的,那么用flash3d就能直接'画'三维模型. 三维模型之所以叫做'建'模,就一定和'画'模有本质