Flash關于游戲制作研究之在場景中移動(二)_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:Flash使用bitmapData打造隨機凹凸拼圖效果
      下午沒事做,就弄了個隨機切拼圖效果,還沒做判定,只是個切法的計算,稍后整理下就應該是個成品,嘿嘿~原理主要就是用bitmap進行切圖,以前都是用遮照做太占資源.效

        自從那篇游戲場景移動之一后,現在我們制作另一種場景移動的方式。這次我們要做的形式就是當游戲角色超出一定范圍后才滾動場景。

      這種方式需要我們先給出一個角色可以移動的范圍,只要游戲角色一超出這個范圍地圖就開始移動。知道相關的東西后我們就開始編寫腳本把,其實我們不用再重新寫一遍這個腳本,只要用我在第一篇提供的源碼上作修改就能夠輕易地得出這種方式的場景移動了,那我們現在來看源代碼吧:
      import flash.geom.Rectangle;
      //引入矩形類包

      var rect:Rectangle = new Rectangle(50, 50, Stage.width-100, Stage.height-100);
      var speed:Number = 3;
      this.onEnterFrame = function() {
      if (Key.isDown(Key.UP)) {
      if (curPoint._y<=rect.top) {
      if (map._y>=0) {
      //到達上邊界
      map._y = 0;
      curPoint._y -= speed;
      } else {
      map._y = speed;
      }
      } else {
      curPoint._y -= speed;
      }
      }
      if (Key.isDown(Key.DOWN)) {
      if (curPoint._y>=rect.bottom) {
      if (map._y<=-(map._height-Stage.height)) {
      map._y = -(map._height-Stage.height);
      curPoint._y = speed;
      } else {
      map._y -= speed;
      }
      } else {
      curPoint._y = speed;
      }
      }
      if (Key.isDown(Key.LEFT)) {
      if (curPoint._x<=rect.left) {
      if (map._x>=0) {
      map._x = 0;
      curPoint._x -= speed;
      } else {
      map._x = speed;
      }
      } else {
      curPoint._x -= speed;
      }
      }
      if (Key.isDown(Key.RIGHT)) {
      if (curPoint._x>=rect.right) {
      if (map._x<=-(map._width-Stage.width)) {
      map._x = -(map._width-Stage.width);
      curPoint._x = speed;
      } else {
      map._x -= speed;
      }
      } else {
      curPoint._x = speed;
      }
      }
      };

      分享:FlashActionscript學習:MovieClipLoader深入研究
      使用moviecliploader下載過多的位圖會帶來計算機網絡連接的擁塞,即使使用unloadClip方法取消下載,仍然不會有好轉,引起這個現象的原因與這個類的實現細節有關

      /所屬分類:Flash教程/更新時間:2008-03-05
      相關Flash教程