用純Flash Actionscript做的火柴棍小人跑的動畫_Flash教程

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

      推薦:關于影片剪輯在主場景中位置修改的Flash技巧
      我們平時做Flash的時候,為了減少場景中的圖層,使場景中的圖層看起來不那么多,一般都會選擇先做好元件再放到場景中。可是,有時我們會發(fā)現(xiàn),在影片剪輯中做好

      非常有趣,本教程描繪的是完全用ActionScript做的一個火柴棍小人跑步的動畫,你相信嗎?完全是AS實現(xiàn)的。

      先看效果吧

      做的方法非常簡單,直接把下面代碼復制到第一幀,最好把幀頻調到18fps。

      以下為引用的內容:

      fscommand("allowscale", false);
      fscommand("showmenu", false);

      lineStyle(1, 0x000000, 100);
      moveTo(0, 135);
      lineTo(550, 135);
      moveTo(0, 185);
      lineTo(550, 185);
      lineStyle(2, 0x000000, 100);
      moveTo(26, 16);
      lineTo(37, 16);
      lineTo(37, 39);
      curveTo(28, 43, 33, 67);
      moveTo(37, 16);
      lineTo(26, 24);
      moveTo(37, 24);
      lineTo(26, 31);
      moveTo(37, 32);
      lineTo(26, 40);
      moveTo(41, 15);
      lineTo(53, 14);
      lineTo(53, 39);
      curveTo(39, 45, 50, 66);
      moveTo(53, 14);
      lineTo(42, 21);
      moveTo(53, 23);
      lineTo(42, 28);
      moveTo(53, 31);
      lineTo(42, 38);
      moveTo(27, 75);
      lineTo(27, 90);
      lineTo(39, 92);
      moveTo(33, 74);
      lineTo(33, 91);
      moveTo(38, 74);
      lineTo(38, 83);
      lineTo(33, 84);
      moveTo(33, 95);
      curveTo(41, 113, 48, 94);
      moveTo(41, 94);
      lineTo(41, 127);
      moveTo(30, 124);
      curveTo(38, 84, 51, 125);
      moveTo(55, 75);
      curveTo(36, 69, 46, 92);
      moveTo(49, 75);
      curveTo(48, 86, 55, 92);

      work_tree = function (tree_NO, speed_time) {
      this.createEmptyMovieClip("tree" tree_NO, tree_NO);
      // trace("tree_name=" "tree" tree_NO);
      tellTarget ("tree" tree_NO) {

      lineStyle(1, 0x000000, 100);
      moveTo(0, -54);
      curveTo(-21, -42, -23, -20);
      curveTo(-18, 17, -5, 24);
      lineStyle(1, 0x000000, 100);
      moveTo(0, -54);
      curveTo(22, -42, 23, -20);
      curveTo(18, 17, 5, 24);

      lineStyle(0.25, 0x000000, 100);
      moveTo(-5, 24);
      lineTo(-5, -7);
      curveTo(1, 5, 5, -8);
      lineTo(5, 24);
      lineStyle(1, 0x000000, 100);
      moveTo(-5, 24);
      lineTo(-5, 55);
      lineTo(5, 55);
      lineTo(5, 24);
      // ------------
      this["tree" tree_NO]._xscale = speed_time;
      this["tree" tree_NO]._yscale = speed_time;
      this["tree" tree_NO]._alpha = speed_time-20;
      this["tree" tree_NO]._y = 75;
      this["tree" tree_NO].onEnterFrame = function() {
      this._x = this._x speed_time/15;
      if (this._x>=500) {
      this.clear();
      this.onEnterFrame = undefined;
      this.removeMovieClip();
      }
      };
      }
      };
      work_play_caput = function (path) {
      this[path].createEmptyMovieClip("play_caput", 2000);
      tellTarget (this[path]["play_caput"]) {
      lineStyle(0.25, 0x000000, 100);
      beginFill(0x000000, 100);
      moveTo(0, -10);
      curveTo(-10, -8, -10, 0);
      curveTo(-8, 10, 0, 10);
      curveTo(10, 8, 10, 0);
      curveTo(8, -10, 0, -10);
      }
      };
      work_play1_run = function (x, y, xscale, yscale) {
      this.createEmptyMovieClip("play1_run", 1000);
      work_play_caput("play1_run");
      play1_run._xscale = xscale;
      play1_run._yscale = yscale;
      play1_run._x = x;
      play1_run._y = y;
      tellTarget ("play1_run") {
      play_caput._xscale = 65;
      play_caput._yscale = 65;
      play_time = 0;
      this.play1_run.onEnterFrame = function() {
      this.play_time ;
      tellTarget (this) {
      if (play_time == 1) {
      clear();
      play_caput._x = 17;
      play_caput._y = 5;
      lineStyle(3, 0x000000, 100);

      moveTo(15, 10);
      lineTo(7, 15);
      lineTo(2, 22);

      moveTo(15, 10);
      lineTo(20, 17);
      lineTo(28, 17);

      moveTo(15, 10);
      lineTo(12, 20);
      lineTo(12, 28);

      moveTo(12, 28);
      lineTo(7, 40);
      lineTo(0, 45);
      lineTo(3, 48);

      moveTo(12, 28);
      lineTo(20, 35);
      lineTo(15, 40);
      lineTo(16, 42);
      } else if (play_time == 3) {
      clear();
      play_caput._x = 23;
      play_caput._y = 5;
      lineStyle(3, 0x000000, 100);

      moveTo(21, 11);
      lineTo(10, 14);
      lineTo(5, 20);

      moveTo(21, 11);
      lineTo(27, 18);
      lineTo(35, 15);

      moveTo(21, 11);
      lineTo(18, 20);
      lineTo(16, 30);

      moveTo(16, 30);
      lineTo(10, 35);
      lineTo(1, 40);
      lineTo(0, 43);

      moveTo(16, 30);
      lineTo(22, 33);
      lineTo(27, 41);
      lineTo(30, 43);
      } else if (play_time == 5) {
      clear();
      play_caput._x = 25;
      play_caput._y = 5;
      lineStyle(3, 0x000000, 100);

      moveTo(22, 11);
      lineTo(10, 16);
      lineTo(8, 24);

      moveTo(22, 11);
      lineTo(25, 20);
      lineTo(32, 18);

      moveTo(22, 11);
      lineTo(18, 21);
      lineTo(18, 30);

      moveTo(18, 30);
      lineTo(10, 35);
      lineTo(2, 35);
      lineTo(0, 36);

      moveTo(18, 30);
      lineTo(22, 36);
      lineTo(25, 47);
      lineTo(30, 47);
      } else if (play_time == 7) {
      clear();
      play_caput._x = 18;
      play_caput._y = 6;
      lineStyle(3, 0x000000, 100);

      moveTo(15, 11);
      lineTo(13, 18);
      lineTo(16, 20);

      moveTo(15, 11);
      lineTo(11, 18);
      lineTo(14, 25);

      moveTo(15, 11);
      lineTo(12, 20);
      lineTo(11, 25);

      moveTo(11, 25);
      lineTo(16, 36);
      lineTo(9, 36);
      lineTo(10, 38);

      moveTo(11, 25);
      lineTo(12, 35);
      lineTo(10, 45);
      lineTo(13, 45);
      } else if (play_time == 8) {
      play_time = 0;
      }
      }
      };
      }
      };
      work_play2_arise = function () {
      this.createEmptyMovieClip("play2_arise", 2000);
      work_play_caput("play2_arise");
      tellTarget ("play2_arise") {
      play_caput._x = 2;
      play_caput._y = -20;
      lineStyle(4, 0x000000, 100);

      moveTo(-7, -5);
      lineTo(6, -7);

      moveTo(-4, -9);
      lineTo(5, -3);

      moveTo(1, -11);
      lineTo(0, 10);

      moveTo(0, 10);
      lineTo(1, 23);
      lineTo(-3, 35);
      lineTo(2, 35);

      moveTo(0, 10);
      lineTo(-6, 21);
      lineTo(4, 29);
      lineTo(1, 33);
      }
      };
      player_run = function () {
      clear();
      lineStyle(5, 0x000000, 100);

      moveTo(sx, sy);
      lineTo(zs1x, zs1y);
      lineTo(zs2x, zs2y);

      moveTo(sx, sy);
      lineTo(ys1x, ys1y);
      lineTo(ys2x, ys2y);

      moveTo(sx, sy);
      lineTo(st1x, st1y);
      lineTo(st2x, st2y);

      moveTo(st2x, st2y);
      lineTo(zj1x, zj1y);
      lineTo(zj2x, zj2y);
      lineTo(zj3x, zj3y);
      moveTo(st2x, st2y);
      lineTo(yj1x, yj1y);
      lineTo(yj2x, yj2y);
      lineTo(yj3x, yj3y);
      setProperty("/tou2", _x, toux2);
      setProperty("/tou2", _y, touy2);
      lineStyle(5, 0x930093, 100);

      moveTo(sx2, sy2);
      lineTo(zs1x2, zs1y2);
      lineTo(zs2x2, zs2y2);

      moveTo(sx2, sy2);
      lineTo(ys1x2, ys1y2);
      lineTo(ys2x2, ys2y2);
      moveTo(sx2, sy2);
      lineTo(st1x2, st1y2);
      lineTo(st2x2, st2y2);

      moveTo(st2x2, st2y2);
      lineTo(zj1x2, zj1y2);
      lineTo(zj2x2, zj2y2);
      lineTo(zj3x2, zj3y2);
      moveTo(st2x2, st2y2);
      lineTo(yj1x2, yj1y2);
      lineTo(yj2x2, yj2y2);
      lineTo(yj3x2, yj3y2);
      };
      //---------------------new_load_data---------------------
      tree_play_time = 0;
      tree_NO = 0;
      play_time = 0;
      //work_play_caput();
      //play_caput._visible = false;
      //---------------------start_play---------------------
      trees_play = function () {
      // ↓每當播放速度值達到15時 復制一棵樹
      if (tree_play_time == 15) {
      // ↓隨機產生每一棵樹的大小及移動的速度
      speed_time = int(random(50)) 30;
      // 制造樹
      work_tree(tree_NO, speed_time);
      tree_NO ;
      tree_play_time = 0;
      }
      tree_play_time ;
      };
      this.onEnterFrame = function() {
      play_time ;
      //放置人物1跑動
      if (play_time == 1) {
      work_play1_run(319, 94, -150, 150);
      }
      //樹移動
      trees_play();
      };

      按Ctrl Enter測試吧!

      分享:Flash實例教程 讓美麗的圖畫動起來
      Flash實例教程:可愛小蜜蜂睡覺,也就是讓一幅漂亮的圖畫動起來!先看效果:粗粗講一下制作過程:畫布大小:1020*200畫背景。(線性漸變#C6E384#A5CB63#ADC

      來源:ycflash.com//所屬分類:Flash教程/更新時間:2008-03-05
      相關Flash教程