通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>网络媒体>>flash>>正文 新版上线![旧版]
注:打开慢时请稍等

flash趣味游戏制作:猜数字

http://www.iyit.net  日期:2006-5-27 17:20:57  来源:网络转载   点击:
参加讨论

  今天向大家介绍一款使用flash制作的有趣的小游戏:猜数字。这个游戏是许多pda和手机上的必备游戏之一,深受大家的喜爱。

  游戏规则:每次游戏开始前都会产生一个随机的四位数,你的任务就是根据游戏对你每次试探给出的反馈不断试探,力图用最少的试探次数猜出正确的答案。

  在游戏界面的左下角可以输入四个数字,但是不能有重复的数。输入后按右边的确定按钮(这里是“go”),游戏会对你的输入和程序产生的数进行判断,如果有n个数字的值正确且位置正确,会显示na;如果有n个数字在四个随机数范围内,但是位置不对,则提示nb。如果最后提示为4a,则你的判断完全正确。

  游戏演示如图1 所示:


图1

  一、界面制作

  1、首先在flash中新建一个影片,将影片默认图层命名为bg,在第3帧插入关键帧,使用绘图工具绘制图2所示的游戏背景,并将图层延续到第20帧。


图2

  2.在bg层上面插入图层input,在第3帧插入关键帧,使用矩形工具绘制一个带变框的正方形,并复制3个副本,按照图3所示的顺序排列好,作为游戏数字输入框的背景。


图3

  3、在input上插入图层inputbox,在第3 帧插入关键帧,使用文本工具绘制四个文本框,大小和前面所绘矩形相同,在属性面板中设置为输入文本框,然后从左到右排列好,分别放置在四个正方形上面,并设置文本变量名为txt1到txt4,如图4所示:


图4

  4、新建一个图层ab,在第3帧插入关键帧,在此层用来设置游戏对玩家输入数字的反馈信息。先用矩形工具绘制一个无填充色的矩形边框,然后使用文本工具在矩形框里绘制两个动态文本框,分别设置变量名为txta和txtb,然后分别在两个文本框右边输入字母a和b,如图5所示:


图5

  5、再添加一个图层info,在第3帧插入关键帧,使用文本工具绘制七个动态文本,从上向下排列,分别设置其文本变量为t1到t7,用来显示每此游戏的所有提示记录,也就是每次有7次猜数的机会。然后再绘制一个动态文本框,放置在界面的最右面,设置其文本变量为txtwin,用来显示最后的正确答案,最后在舞台右下角制作一个确定按钮,每此输入完输入后,按下这个按钮就可以进行数字的判断,如图6所示:

图6

  下面进入as代码编写。

  二、代码的编写

  给确定按钮添加如下action:

  //下面代码的主要功能是:对玩家输入的数字和游戏产生的数字进行比较,从而得出*a*b的结论,即提示玩家几个数字猜对,几个猜错。

  on (press) {
    a = b=0;  //初始化变量a,b的值为0,a,b分别代表了a和b的数量

    if (txt1 == shu1) {
      a++;  //如果玩家输入的第1个数字和游戏产生的第1个数字相同,
          //则a的数量增1
    } else {
      if (txt1 == shu2 or txt1 == shu3 or txt1 == shu4) {
        b++;
      }//否则和游戏产生的其它3个数字比较,如果和其中一个相同,b数量增1
    }

    if (txt2 == shu2) {
      a++;  //如果玩家输入的第2个数字和游戏产生的第2个数字相同,
          //则a的数量增1
    } else {
      if (txt2 == shu1 or txt2 == shu3 or txt2 == shu4) {
        b++;
      }//否则和游戏产生的其它3个数字比较,如果和其中一个相同,b数量增1
    }

    if (txt3 == shu3) {
      a++;  //如果玩家输入的第3个数字和游戏产生的第3个数字相同,
      //则a的数量增1
    } else {
      if (txt3 == shu1 or txt3 == shu2 or txt3 == shu4) {
        b++;//否则和游戏产生的其它3个数字比较,如果和其中一个相同,b数量增1
      }
    }

    if (txt4 == shu4) {
      a++;  //如果玩家输入的第4个数字和游戏产生的第4个数字相同,
          //则a的数量增1
    } else {
      if (txt4 == shu1 or txt4 == shu2 or txt4 == shu3) {
        b++;
      }//否则,和游戏产生的其它3个数字比较,如果和其中一个相同,b的数量增1
    }

    if (txt1 == txt2 or txt1 == txt3 or txt1 == txt4) {
      gotoandplay("dd");
    }
    if (txt2 == txt3 or txt2 == shu4) {
      gotoandplay("dd");
    }
    if (txt3 == txt4) {
      gotoandplay("dd");
      //上面三个if语句对玩家输入的数字进行判断,如果4个数字之间有相同的数,跳到dd帧,警告玩家输入非法
    } else {
      if (a == 4) {
        gotoandplay("win");
        //如果此时判断a的值为4,也就是a的熟练达到4个,则玩家全部判断对了,跳到帧win显示胜利信息
      } else {
        txta = a;
        txtb = b;
      }//如果游戏没结束,既玩家没全部判断对,设置txta和txtb两个文本框的值为a和b的数量
    c[n] = "第"+(n+1)+"次"+a+"a"+b+"b";
    //设置游戏反馈字符串,提示当前的信息,其中n为变量
    t1 = c[0];
    //将c[n]中的变量替换为0,显示"第1次*a*b的信息",下面的代码作用相同
    t2 = c[1];
    t3 = c[2];
    t4 = c[3];
    t5 = c[4];
    t6 = c[5];
    t7 = c[6];
    n++;
   }
  }

  on (release) {
    txt1 = txt2=txt3=txt4="";  //释放此按钮后,清空四个输入文本框,等待用户重新判断
    if (n == 7 and a != 4) {  //如果已经判断了7次,a的数量还没达到4,则游戏失败
      gotoandplay("f");
    }
  }

  6、在第10帧插入空白关键帧,设置帧标签为dd,设置如图7所示的警告界面:


图7

  给右下角的返回按钮添加action:

  on (release) {
    txt1 = txt2=txt3=txt4=txta=txtb="";  //设置输入文本框为空
    gotoandplay("pd");  // 重新回到游戏状态
  }
  同时给此关键帧添加as; stop();

  7、分别在15帧和20帧插入空白关键帧,设置游戏失败和胜利的提示画面,并设置帧标签分别为f(失败)和w(胜利),具体设置可以根据自己的意愿设置即可。最后给两帧都加上as; stop();

  8、最后添加图层action,用来设置游戏的主as。

  给第1帧添加如下as;

  shu1 = int(random(9));
  shu2 = int(random(9));
  shu3 = int(random(9));
  shu4 = int(random(9));
  //上面4句都是取0到9之间的随机数,每此游戏开始确保数字不重复
  a=0;b=0;
  n=0;
  //定义并初始化3变量

  给第2帧添加如下as;

  if (shu1==shu2 or shu1==shu3 or shu1==shu4)
    gotoandplay(1);
  if (shu2==shu3 or shu2==shu4)
    gotoandplay(1);
  if (shu3==shu4)
    gotoandplay(1);
  //上面的代码判断游戏产生的随机数是否有重复,如果重复,则返回到第1 帧//重新取数

  给第3帧添加如下as,并且设置此帧标签为pd;
  stop ();//游戏停在此帧,等待玩家输入数字
  if (txt1==shu1)
    a=a+1;
  if (txt2==shu2)
    a=a+1;
  if (txt3==shu3)
    a++;
  if (txt4==shu4)
    a++;
  //上面代码的作用:如果输入的数分别和随机产生的数字每位都对应相同,则变//量a的值加1,这几句其实是用来确定游戏反馈信息*a*b中a的数量
  c=new array(7);//建立一个含有7个元素的数组对象
  c[0]=c[1]=c[2]=c[3]=c[4]=c[5]=c[6]="";  //对数组中的7个元素分别赋值为空

  最后时间轴如图8所示;


图8

  这样,一个趣味的小游戏就制作完成了,发布出来考考自己的智力吧。

  源文件下载


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:flash人物绘画教程
下一篇:flash鼠绘教程
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
flash游戏制作:打砖块 flash游戏制作:弹力球 flash游戏制作:找错误
flash游戏制作:七巧板 利用条件语句制作单词游戏(as条件语句 asp作的剪包锤游戏
如何在win20003中更好的玩游戏
最新更新 热点排行 推荐新闻
flash 5.0 功能简介
flash 菜单简要说明(1)
flash 中音频素材的处理
flash shared library 的使用方法(1)
flash 浮动面板使用大全(1)
flash 5.0 功能简介
flash 菜单简要说明(1)
flash 中音频素材的处理
flash shared library 的使用方法(1)
flash 浮动面板使用大全(1)
flash 浮动面板使用大全(2)
flash 鼠标指针
flash 替换外部图片或声音
flash 物体的淡出效果制
flash 引导线的使用
flash常用mc属性控制(1)
flash 神奇遮罩之原理篇(1)
flash mx2004入门与进阶实例——mtv实
flash mx2004入门与进阶实例(1)
flash 神奇遮罩之原理篇(2)
优秀公益广告作品欣赏(8)
java数据类型转换
windows xp专业版iis连接数的更改
新开放qq免费挂级网站
优秀公益广告作品欣赏(7)
免费在qq上看在线电影电视听音乐
office2007简体中文版浮出水面 美图抢
qq最新版下载 2006 beta2 体验新感受 
qq珊瑚虫外挂4.0版本发布!
web服务器配置全攻略(三)
dreamweaver mx 2004从零开始(1)
利用css改善网站可访问性
如何让mm的脸通透可人
msn8.0下载
asp 五大高效提速技巧
如何在win20003中更好的玩游戏
qq收费头像免费使用的方法 
微软将在华推分期付款,充值卡pc 可低价
 amd处理器am2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息