用纯Flash Actionscript做的火柴棍小人跑的动画

所属分类: 媒体动画 / Flash教程 阅读数: 62
收藏 0 赞 0 分享
非常有趣,本教程描绘的是完全用ActionScript做的一个火柴棍小人跑步的动画,你相信吗?完全是AS实现的。
先看效果吧


做的方法非常简单,直接把下面代码复制到第一帧,最好把帧频调到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怎么制作镜像动画?flash中制作动画很简单,怎么才能制作一个动画的镜像呢?下面我们就来看看flash制作镜像动画的详细教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash制作图片变换的gif动画效果

这篇教程是向脚本之家的朋友分享flash制作图片变换的gif动画效果方法,教程制作出来的动画效果非常不错,难度不是很大,一起来学习吧
收藏 0 赞 0 分享

flash怎么绘制和谐号火车从火车道开过的动画?

flash怎么绘制和谐号火车从火车道开过的动画?想制作一个火车从轨道上飞奔而过的一个画面,该怎么制作呢?下面我们就来看看flash制作和谐号火车从火车道开过的动画的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

FLASH怎么制作红烛燃烧的动画?

FLASH怎么制作红烛燃烧的动画?FLASH中做动画很方便,今天我们就来看看使用flash制作蜡烛燃烧并流下烛蜡的教程,很简单,下面我们就来看看详细教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么填充渐变色? flash渐变填充的使用方法

flash怎么填充渐变?flash中想给图形添加渐变色,该怎么添加呢?下面我们就来看看flash渐变填充的使用方法,这是基础教程,很简单,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么制作磁铁吸钉子的动画?

flash怎么制作磁铁吸钉子的动画?我们知道钉子放到磁铁周围就会直接将钉子吸走,该怎么制作这个动画呢?下面我们就来看看flash制作磁铁吸引钉子的动画教程,需要的朋友可以参考下
收藏 0 赞 0 分享

flash怎么画中国国宝大熊猫? flash绘制卡通大熊猫的教材

flash怎么画中国国宝大熊猫?flash中制作动画很简单,但是也可以简单的绘制图形,该怎么绘制呢?今天我们就来看看flash绘制卡通大熊猫的教材,需要的朋友可以参考下
收藏 0 赞 0 分享

Flash工具缩放、旋转和倾斜对象使用介绍

今天小编为大家介绍Flash工具缩放、旋转和倾斜对象使用方法,对于初学者来说,是个很好的学习教程,推荐到脚本之家,一起来看看吧
收藏 0 赞 0 分享

flash中怎么用鼠标绘制一朵木兰花?

flash中怎么用鼠标绘制一朵木兰花?flash中除了做动画效果以外,还可以绘制图形,今天我们就来看看flash用鼠标绘制一朵木兰花的详细教程,很简单,详细教程请看下文
收藏 0 赞 0 分享

FLASH制作一个小车一直往前推的动画?

FLASH制作一个小车一直往前推的动画?想做一个动画,就是有个小推车一直不断的往前进,中途不能倒,该怎么制作呢?下面我们就来看看这个动画的制作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多