游戏制作--在场景中移动(一)

场景是游戏中的一个重要元素,特别对于RPG游戏来说场景的数量就更多了,所以现在我为一些想做游戏的入门新手来讲解一下,游戏中的角色是如何在场景中实现移动的。今天我们要讲的是以游戏角色为中心的场景移动方式。

      以游戏角色为中心的场景移动方式就是:除了到达场景的尽头之外,游戏角色始终在场景的中心的移动方式。现在我们也可分开来考虑问题了,我们可以分为:在未达到场景尽头和已到锍【熬⊥妨街智榭觥T谖吹酱锍【熬⊥肥保蜗方巧窃诔【暗闹行奈恢玫模训酱锍【熬⊥肥笔怯蜗返慕巧鸾ハ蚓⊥房柯5亩鳌;挂兴得鞯囊坏闶牵诤芏嘀智榭鲋卸际怯墒泳醪拇砭酰芏嗳艘晕墙巧囊贫斐沙【暗囊贫园炎⒁饬性诮巧校涫翟诒嘈丛诔【耙贫淖⒁饬τΩ眉性诔【吧希卑聪路较蚣背【熬涂家贫刮颐俏笕衔墙巧谝贫恕K晕颐且治龀鲎畋局实亩鞑拍苋梦颐鞘掳牍Ρ叮媒酉吕次颐蔷涂妓邓等绾沃谱靼?..  

     首先我们找来一幅图片并将它导入到Flash中。然后新建一个MC,把图片拖进去并让它和原点对齐,此步的目的是为了我们日后编程的方便而做的。而这一个MC就是我们的场景了。接着我们把这个MC拖到主场景并取名为map。接着我们再新建一个MC,这个用来表示游戏中的角色,我们随便画一个圆点给它。我们把这个MC也拖进场景取名为CurPoint。接下来我们开始编写脚本,点击主场景第一帧,写下如下代码:

//以角色为中心的场景移动
//角色移动的速度
var speed:Number = 3;
this.onEnterFrame = function() {
 if (Key.isDown(Key.UP)) {
  if (map._y>=0) {
   //达到上边界
   map._y = 0;
   curPoint._y -= speed;
  } else {
   //未到达上边界,地图下移
   if (curPoint._y>=Stage.height/2) {
    curPoint._y -= speed;
   } else {
    map._y += speed;
   }
  }
 }
 if (Key.isDown(Key.DOWN)) {
  if (map._y<=-(map._height-Stage.height)) {
   //达到下边界
   map._y = -(map._height-Stage.height);
   curPoint._y += speed;
  } else {
   //未到达下边界,地图上移
   if (curPoint._y<=Stage.height/2) {
    curPoint._y += speed;
   } else {
    map._y -= speed;
   }
  }
 }
 if (Key.isDown(Key.LEFT)) {
  if (map._x>=0) {
   map._x = 0;
   curPoint._x -= speed;
  } else {
   if (curPoint._x>=Stage.width/2) {
    curPoint._x -= speed;
   } else {
    map._x += speed;
   }
  }
 }
 if (Key.isDown(Key.RIGHT)) {
  if (map._x<=-(map._width-Stage.width)) {
   map._x = -(map._width-Stage.width);
   curPoint._x += speed;
  } else {
   if (curPoint._x<=Stage.width/2) {
    curPoint._x += speed;
   } else {
    map._x -= speed;
   }
  }
 }
};
posted @ 2008-10-23 10:09  Landy_di  阅读(388)  评论(0)    收藏  举报