论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

FLASH推箱子游戏分析(二)地图铺设

文章类别:Flash AS编程 | 发表日期:2008-10-6 18:13:54


这节课,我们来分析推箱子游戏中稍微有点复杂的一关。地图铺设。
关于地图的铺设,其实就是用到循环,先来一次横向循环,再来一次纵向循环。
第二个知识点,就是根据先前设定的数组中返回的值。来确定显示场景中单元的对象。
比如,我们设定单元格中含有三个帧,第一帧中显示图案A,第二帧中显示图案B,第三帧中显示图案C。当返回的值是1时,就显示图案A,后面原理一样。这个时候,就要用到switch语句。
(由于AS3还不会哈,所以本篇及以前的知识点中,全部以AS2为核心);
下面,我们进入正题,先来看看演示:

 

然后来看看代码

/*------------- www.taoshaw.com ---------------*/
//设置场景的宽度,在这里可以动态的设定场景舞台的宽度也高度,根据此值以及后面的相关参数。来确定舞台中所需要摆设的单元的数量。
var my_chang_width:Number = 550;
//设置场景的高度
var my_chang_height:Number = 400;
//每个单元的长和宽,在这里,根据你先设计的单元的数值为标准。
var block_width:Number = 40;
var block_height:Number = 40;
//设置两个单元间的距离,比如你希望,场景中摆放的对象看上去不要那么拥护,可以在此设定数值。
var juli:Number = 10;
//计算场景中横向总需要需要多少个单元,根据小学生就会做的原理,最简单的除法。算出单元格的数量。
kuan = my_chang_width/(block_width+juli);
//计算场景中竖向总需要多少个单元
gao = my_chang_height/(block_height+juli);
//初始化地图为数组。
var ditu:Array = new Array();
//设定数组的内容。
ditu = [[1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], [1, 1, 1, 0, 1, 1, 2, 1, 2, 1, 1], [1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1], [1, 1, 4, 4,4, 4, 4, 4, 4, 1, 1], [1, 1, 1, 1, 1,4, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]];
//先来一次横向循环。
for (var i:Number = 0; i<gao; i++) {
//再来一次纵向循环。
  for (var j:Number = 0; j<kuan; j++) {
    var temp = getNextHighestDepth();
    attachMovie("mc", "mc"+temp, temp);
    var mc = _root["mc"+temp];
    //设置mc的位置。
    mc._x = j*block_width+j*juli+bgMap_mc._x;
    mc._y = i*block_height+i*juli+bgMap_mc._y;
    //根据值,设置mc显示第几帧中的对象
    switch (ditu[i][j]) {
      //如果获取值是1,则跳到第1帧
    case 1 :
      mc.gotoAndStop(1);
      break;
      //如果获取值是2,则跳到第2帧
    case 2 :
      mc.gotoAndStop(2);
      break;
      //如果获取值是3,则跳到第3帧
    case 3 :
      mc.gotoAndStop(3);
      break;
      //如果获取值是4,则跳到第4帧。(第4帧,即为空白对象---在此,也可以自己设定)
    case 4 :
      mc.gotoAndStop(4);
      break;
    }
  }
}
//这段是广告。
ad_btn.onRelease=function(){
  getURL("http://www.taoshaw.com/","_blank")
}
/*------------- www.taoshaw.com ---------------*/
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058