仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 909|回复: 7
打印 上一主题 下一主题

[学习教程] 来一发Flash游戏制造:贪食蛇(3)

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 21:39:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。
Action代码把持

  这一步是全部游戏制造中最最关头的阶段,游戏的次要把持部分都在这里完成。

  1.拔取insert--.>newsymbol菜单命令,仍是新建一个movieclip范例的组件,并给其定名为control.

  2.在组件control的编纂形态下,新建一个图层layer2,此图层用来增加游戏的主action.

  3.给图层layer2的第二到第七帧全体拔出关头帧,而且在properties属性面板中给第7关头帧增加帧标签framelabel:”lose,”,如所示:<Palign=center>

<P>  4.起首在layer2的第1关头帧中增加as:

   //设定贪吃蛇初始x坐标值
  x=198;
   //设定贪吃蛇初始y坐标值
  y=306;
   //设定界限的最右坐标值
  maxx=540;
   //设定界限的最左坐标值
  minx=18;
   //设定界限的最底坐标值
  maxy=378;
   //设定界限的最顶坐标值
  miny=18;
  //设定贪吃蛇初始向横偏向的步数
  xm=18;
   //设定贪吃蛇初始向竖偏向的步数
  ym=0;
   //设定蛇身的个数
  n=10;
   //初始化i,j和场景上score函数的值,score值暗示分数。
  i=0;
  j=0;
  /:score=0;  //注重:这里/:score是指明主场景上钩分变量score的路径

  5.在layer2的第2关头帧增加as:

   //设定第一个蛇身的地位
  setProperty("/snake",_x,x);
  setProperty("/snake",_y,y);

  6.在layer2的第3关头帧增加as:

   //使用RANDOM函数设定食品的随机地位
  foodx=int(Number(random(30))+1)*18;
  foody=int(Number(random(20))+1)*18;
  setProperty("/food",_x,foodx);
  setProperty("/food",_y,foody);

  7.在layer2的第4关头帧增加as:

  i=Number(i)+1;
  j=Number(j)+1;
  if(Number(i)>Number(n)){
   i=1;
   j=1;
  }
   //界说一个数组"oldx"&j和"oldy"&j来纪录各个蛇身的地位。
  set("oldx"addj,getProperty("/snake",_x));
  set("oldy"addj,getProperty("/snake",_y));
   //复制蛇身,蛇身的数量即是n
  duplicateMovieClip("/snake","snake"addi,i);
  k=j;
   //当第一个蛇身的地位与食品的地位相称时,分数加上9,蛇身个数加1,并转到第三帧。
  if(Number(x)==Number(foodx)andNumber(y)==Number(foody)){
   /:score=Number(/:score)+9;  //注重:这里/:score是指明主场景上钩分变量score的路径
   n=Number(n)+1;
   gotoAndPlay(3);
  }

  8.在layer2的第5关头帧增加as:

   //使第一个蛇身的地位横向挪动xm个坐标或竖向挪动ym个坐标。xm和ym数值决意于按下的偏向键。
  x=Number(getProperty("/snake",_x))+Number(xm);
  y=getProperty("/snake",_y)-ym;
  setProperty("/snake",_x,x);
  setProperty("/snake",_y,y);

  9.在layer2的第6关头帧增加as:

   //假如第一个蛇身的地位超越了界限,转到"lose"这帧。不然就转回到第四帧
  if(Number(x)>Number(maxx) or Number(x)<Number(minx) or Number(y)>Number(maxy) or Number(y)<Number(miny)){
   gotoAndStop("lose");
  }else{
   gotoAndPlay(4);
  }

  10.然后回到图层layer1,在此层我们来增加用来判别贪食蛇是不是首尾相接的action.

  11.在图层laye1的第5帧拔出一个关头帧,增加以下action;
   //挪用label名为judge的帧,来判别蛇身是不是首尾相接。
  call("judge");

  12.在图层laye1的第8帧拔出一个关头帧,并设置此帧的帧标签为"judge",如0所示:<Palign=center>

0  13.在图层layer1的第8帧增加以下as:

  //挪用数组"oldx"&j和"oldy"&j来跟第一个蛇身的地位对照,假如相称的话,则GameOver。

  j=1;
  while(Number(j)<NUMBER(N)){
    if(x==get("oldx"addj)andy==get("oldy"addj)){
      re=1;
    }
    j=Number(j

此外,还支持α透明功能,能够设计人员在Flash视频中对诸如文本、矢量图像以及其它Flash元素等进行整合。
小女巫 该用户已被删除
沙发
发表于 2015-1-17 16:53:17 | 只看该作者
商业上的优势——品牌flash的创造;公司企业的flash宣传;flash技术在电视的应用
山那边是海 该用户已被删除
板凳
发表于 2015-1-21 11:16:13 | 只看该作者
它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。  
深爱那片海 该用户已被删除
地板
发表于 2015-1-30 16:52:26 | 只看该作者
用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。
再现理想 该用户已被删除
5#
发表于 2015-2-6 14:27:47 | 只看该作者
Flash也支持alpha通道,这会使设计者高兴。没有太多的技术性,alpha通道是附加在图像上的信息 - 允许图像以不同的方式渲染。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-16 13:17:15 | 只看该作者
矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。
蒙在股里 该用户已被删除
7#
发表于 2015-3-5 06:50:46 | 只看该作者
矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。
不帅 该用户已被删除
8#
发表于 2015-3-19 18:12:51 | 只看该作者
广告本身无法看到网址链接,不利于网站本身的搜索引擎优化,对增加网站排行的权重没有意义。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 17:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表