素材图片酷 图酷镜像二 | 壁纸酷 壁纸镜像二 | 写真扫图酷 | Free Wallpaper | 贴图论坛 | ·设为首页 ·加入收藏
您现在的位置: 图酷 >> 自习室 >> 多媒体制作 >> Flash >> 游戏制作 >> 教程正文

  没有公告


Flash区块游戏之卷屏
作者: zjs35
教程来源: zjs35blog
教程等级:         ★★★
教程录入: 烤焦面包
教程审核: 烤焦面包
添加时间: 2006-9-18
点击次数:
字体选择: 【字体:
相关操作: 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门信息:
推荐内容:

//增加卷屏事件
function strollMap(dirx) { 
    var mc = this.target._parent; 
    if (mc._x<=0) { 
      var t = mc._x-dirx*this.speed; 
      if (t>0) { 
        mc._x = 0; 
      } else if (t<this.target.mapminx) { 
        mc._x = this.target.mapminx; 
      } else { 
        mc._x -= dirx*this.speed; 
        var t = Math.abs(Math.floor((this.target._parent._x)/Tile.width)); 
        if (dirx == 1) { 
          this.dispatchEvent({type:"left", value:t}); 
        } else if (dirx == -1) { 
          this.dispatchEvent({type:"right", value:t}); 
        } 
      } 
    } 
  } 
在Game类中 
_char.addEventListener("left", Delegate.create(this, moveleft)); 
    _char.addEventListener("right", Delegate.create(this, moveright)); 
private function moveleft(obj) { 
    var t = obj.value-1; 
    if (t != 0) { 
      var row = t-1; 
      if (row>=0 && (row+endx+1)<_mapData.width) { 
        this.removeRow(row); 
        this.addRow(row+endx+1); 
      } 
    } 
  } 
  private function moveright(obj) { 
    var t = obj.value-1; 
    if (t>=0) { 
      var row = t; 
      if (row>=0 && (row+endx)<_mapData.width) { 
        this.addRow(row); 
        this.removeRow(row+endx+1); 
      } 
    } 
  } 
  //绘制指定列 
  private function addRow(row:Number) { 
    var w = _mapData.width; 
    var h = _mapData.height; 
    var tileW = Tile.width; 
    var tileH = Tile.height; 
    for (var i = 0; i<h; i++) { 
      var name = "t_"+i+"_"+row; 
      var mc = _target.wholemap.attachMovie("tile", name, i*w+row); 
      //根据参数来创建区块 
      mc.instance = new Tile(_mapData.getData(_index)[i][row]); 
      mc.instance.target = mc; 
      mc._x = row*tileW; 
      mc._y = i*tileH; 
      mc._width = tileW; 
      mc._height = tileH; 
      mc.gotoAndStop(mc.instance.name.frame); 
    } 
  } 
  private function removeRow(row:Number) { 
    var h = _mapData.height; 
    for (var i = 0; i<h; i++) { 
      var name = "t_"+i+"_"+row; 
      _target.wholemap[name].removeMovieClip(); 
    } 
  } 
  • 上一篇教程:
  • 下一篇教程:
  • ::版权和投稿说明::
    • 任何媒体、网站或个人转载、链接、转贴或以其他方式复制发表本站文章,在使用时务必注明“稿件来源:图酷”及“www.tucoo.com”字样,多谢。
    • 本站已注明“来源”的文章均为转载稿,本站转载出于传递更多信息之目的。如本站转载稿涉及版权等问题,请来信与本站联系。
    • 如果您有自己原创的作品,请向我们投稿哦!您可以通过Email:gogocat@21cn.com投出自己的作品,赶快行动吧!
    • 如果觉得我们的资源有用,请推荐给朋友,谢谢!
    ::相关教程::
    一步一步教你做RPG游戏(1)
    扫雷游戏代码
    ACT闯关游戏的基本设置
    ACT游戏基础元素-血槽的制作
    枪战游戏基础制作
    鼠标控制人物在地图移动的方法
    游戏中动态加载地图的问题
    拼图游戏的制作
     
    网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论