由浅入深学习Flash制作物体弹跳游戏

2024-04-20

由浅入深学习Flash制作物体弹跳游戏(精选2篇)

篇1:由浅入深学习Flash制作物体弹跳游戏

我也不知道该如何起这篇文章的名字,如果您觉得我的文章的名字起的不好,在转载过程中你可以自己改个好的名字,别忘了告诉我下啊!希望本文对开发Flash游戏入门的人有用。

开始给大家讲解如何制作。(每一步都有演示动画,在文章末尾还给出了所有演示动画的源文件!)

建立Flash文档,Ctrl+J修改影片属性。

然后建立一个影片剪辑元件,作为地图来使用,名字为terrain,形状如下图。

然后再建立两个按钮,一个是go,另一个是reset。最后建立一个char影片剪辑元件(看你的绘画工夫了,建立什么都可以)。

然后分别把三类元件(terrain,char,2个按钮)都放到场景中来。然后给char影片剪辑元件起实例名walker,地图terrain的实例名为terrain。然后选择第一帧,按F9打开动作面板,输入代码。

别忘了地图terrain的实例名为terrain。同样方法,不给截图了。

第一帧加入下面代码:

go=false;//主要是一个变量赋初始值

go按钮:

on (release) {

go = true;

}//开始运动

reset按钮:

on (release) {

go = false;

walker._x = 107;

walker._y = 49;

}//回到初始状态

然后char影片剪辑的action如下:

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

}

onClipEvent (enterFrame) {

if (_root.go) {

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

}

_y += yspeed;

}

}

效果如下(只要点GO按钮,物体就会掉下,点reset就会回到初始状态):

大家通过看上面的代码可以看到是利用速度总是增加的,所以物体接触地面时显得总是动。

改良上面代码:

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

}

onClipEvent (enterFrame) {

if (_root.go) {

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

}

if (!_root.terrain.hitTest(_x, _y+_height/2+1, true)) {

_y += yspeed;

} else {

yspeed = 0;

}

}

}

效果(通过yspeed = 0;使接触到地面的时候速度变为0):

通过上面两个步骤我们就制作好了这个游戏的基础部分。下面我们开始制作游戏使用键盘来控制移动。

用键盘来左右方向键来控制物体左右移动。

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

xspeed = 1;

}

onClipEvent (enterFrame) {

if (_root.go) {

if (Key.isDown(Key.LEFT)) {

_x -= xspeed;

}

if (Key.isDown(Key.RIGHT)) {

_x += xspeed;

}

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

}

if (!_root.terrain.hitTest(_x, _y+_height/2+1, true)) {

_y += yspeed;

} else {

yspeed = 0;

}

}

}

效果如下:

上面效果,大家通过用键盘方向键移动,如果物体到了地图的边缘,可以移动到外面去。下面我们继续改良代码,把物体的移动范围做一个限制。

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

xspeed = 1;

}

onClipEvent (enterFrame) {

if (_root.go) {

if (Key.isDown(Key.LEFT)) {

if (!_root.terrain.hitTest(_x-_width/2, _y+_height/4, true)) {

_x -= xspeed;

}

}

if (Key.isDown(Key.RIGHT)) {

if (!_root.terrain.hitTest(_x+_width/2, _y+_height/4, true)) {

_x += xspeed;

}

}

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

}

if (!_root.terrain.hitTest(_x, _y+_height/2+1, true)) {

_y += yspeed;

} else {

yspeed = 0;

}

}

}

上面代码控制了左右两边的界限,

效果如下(这时就不会移动到外面去了吧!):

下面我们开始改良代码使该物体能被键盘的空格键控制跳动。

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

xspeed = 1;

}

onClipEvent (enterFrame) {

if (_root.go) {

if (Key.isDown(Key.LEFT)) {

if (!_root.terrain.hitTest(_x-_width/2, _y+_height/4, true)) {

_x -= xspeed;

}

}

if (Key.isDown(Key.RIGHT)) {

if (!_root.terrain.hitTest(_x+_width/2, _y+_height/4, true)) {

_x += xspeed;

}

}

if (Key.isDown(Key.SPACE)) {

yspeed = -5;

}

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

}

if ((!_root.terrain.hitTest(_x, _y+_height/2+1, true)) or (yspeed<0)) {

_y += yspeed;

} else {

yspeed = 0;

}

}

}

效果如下(物体移动后按空格键试试!!):

大家通过测试上面影片,按空格键会不会跳呢??而且跳的还很高啊!!如果你总按空格键还可以跳出屏幕呢!哈哈!!!所以下面大家也该知道干什么了!!给跳的范围做一个限制,你非常聪明的。

onClipEvent (load) {

gravity = 0.2;

yspeed = 0;

xspeed = 1;

jumping = 0;

}

onClipEvent (enterFrame) {

if (_root.go) {

if (Key.isDown(Key.LEFT)) {

if (!_root.terrain.hitTest(_x-_width/2, _y+_height/4, true)) {

_x -= xspeed;

}

}

if (Key.isDown(Key.RIGHT)) {

if (!_root.terrain.hitTest(_x+_width/2, _y+_height/4, true)) {

_x += xspeed;

}

}

if ((Key.isDown(Key.SPACE)) and (!jumping)) {

yspeed = -5;

jumping = 1;

}

yspeed += gravity;

while (_root.terrain.hitTest(_x, _y+_height/2, true)) {

_y--;

yspeed = 0;

jumping = 0;

}

if ((!_root.terrain.hitTest(_x, _y+_height/2+1, true)) or (yspeed<0)) {

_y += yspeed;

} else {

yspeed = 0;

jumping = 0;

}

}

}

最终演示效果:

最终一个小游戏就做好了!!不难吧!!希望大家支持我!支持本站。谢谢!差点忘了!!以上所有演示动画的源文件提供给大家!!!

点击这里下载源文件(还记得解压密码吗??www.webjx.com)

篇2:由浅入深学习Flash制作物体弹跳游戏

标签:flash游戏开发 Flash实例教程 Flash Actionscript制作游戏 Flash高级技巧,

Flash制作物体弹跳电脑游戏,这是一种背景不动的一个物体可以弹跳,可以左右走动的小游戏。比较基础的游戏。在文章的最后提供所有演示的Flash源文件。

启动Flash,首先修改文档属性。

首先制作两个电影剪辑一个是背景,绘制一个矩形小块来当背景。加入AS为:stop(),让它开始就停止。

另外一个是运动的物体,给大家截图如下。

回到主场景,我们用Actionscript来实现其它效果。在主场景的第一帧直接加入下面代码:

xspeed = 0;

yspeed = 0;

max_yspeed = 16;

gravity = 1;

walk_speed = 4;

level = new Array();

_root.createEmptyMovieClip(“lev”, _root.getNextHighestDepth());

level[0] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

level[1] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[2] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[3] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[4] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[5] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1);

level[6] = new Array(1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[7] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[8] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[9] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[10] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[11] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[12] = new Array(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[13] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[14] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

for (y=0; y<=14; y++) {

for (x=0; x<=24; x++) {

if (level[y][x] != 0) {

place_brick = lev.attachMovie(“block”, “block_”+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:x*20+10, _y:y*20+10});

place_brick.gotoAndStop(level[y][x]);

}

}

}

_root.attachMovie(“player”, “player”, _root.getNextHighestDepth(), {_x:40, _y:40});

player.onEnterFrame. = function() {

yspeed += gravity;

if (yspeed>max_yspeed) {

yspeed = max_yspeed;

}

if (Key.isDown(Key.LEFT)) {

xspeed = -walk_speed;

}

if (Key.isDown(Key.RIGHT)) {

xspeed = walk_speed;

}

while (_root.lev.hitTest(this._x, this._y+this._height/2-1+yspeed, true)) {

yspeed--;

}

while (_root.lev.hitTest(this._x-this._width/2+1+xspeed, this._y, true)) {

xspeed++;

}

while (_root.lev.hitTest(this._x+this._width/2-1+xspeed, this._y, true)) {

xspeed--;

}

this._y += yspeed;

this._x += xspeed;

xspeed = 0;

};

上面代码实现的效果是会出现一幅不动的背景。效果如下。

然后把弹跳的物体放进来。

yspeed = 0;

max_yspeed = 16;

gravity = 1;

level = new Array();

_root.createEmptyMovieClip(“lev”, _root.getNextHighestDepth());

level[0] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

level[1] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[2] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[3] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[4] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[5] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1);

level[6] = new Array(1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[7] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[8] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[9] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[10] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[11] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[12] = new Array(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[13] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[14] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

for (y=0; y<=14; y++) {

for (x=0; x<=24; x++) {

if (level[y][x] != 0) {

place_brick = lev.attachMovie(“block”, “block_”+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:x*20+10, _y:y*20+10});

place_brick.gotoAndStop(level[y][x]);

}

}

}

_root.attachMovie(“player”, “player”, _root.getNextHighestDepth(), {_x:40, _y:40});

player.onEnterFrame. = function() {

yspeed += gravity;

if (yspeed>max_yspeed) {

yspeed = max_yspeed;

}

while (_root.lev.hitTest(this._x, this._y+this._height/2-1+yspeed, true)) {

yspeed--;

}

this._y += yspeed;

};

效果(一个静态背景,出现一个弹跳物体)

然后让物体能左右移动。

xspeed = 0;

yspeed = 0;

max_yspeed = 16;

gravity = 1;

walk_speed = 4;

level = new Array();

_root.createEmptyMovieClip(“lev”, _root.getNextHighestDepth());

level[0] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

level[1] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[2] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[3] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[4] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[5] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1);

level[6] = new Array(1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[7] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[8] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[9] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[10] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[11] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[12] = new Array(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[13] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[14] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

for (y=0; y<=14; y++) {

for (x=0; x<=24; x++) {

if (level[y][x] != 0) {

place_brick = lev.attachMovie(“block”, “block_”+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:x*20+10, _y:y*20+10});

place_brick.gotoAndStop(level[y][x]);

}

}

}

_root.attachMovie(“player”, “player”, _root.getNextHighestDepth(), {_x:40, _y:40});

player.onEnterFrame. = function() {

yspeed += gravity;

if (yspeed>max_yspeed) {

yspeed = max_yspeed;

}

if (Key.isDown(Key.LEFT)) {

xspeed = -walk_speed;

}

if (Key.isDown(Key.RIGHT)) {

xspeed = walk_speed;

}

while (_root.lev.hitTest(this._x, this._y+this._height/2-1+yspeed, true)) {

yspeed--;

}

while (_root.lev.hitTest(this._x-this._width/2+1+xspeed, this._y, true)) {

xspeed++;

}

while (_root.lev.hitTest(this._x+this._width/2-1+xspeed, this._y, true)) {

xspeed--;

}

this._y += yspeed;

this._x += xspeed;

xspeed = 0;

};

效果(这时按键盘左右方向键你可以看到效果)

最后让物体能够蹦起来啊!

xspeed = 0;

yspeed = 0;

max_yspeed = 16;

gravity = 1;

walk_speed = 4;

can_jump = false;

jump_power = 10;

jump_walk = true;

level = new Array();

_root.createEmptyMovieClip(“lev”, _root.getNextHighestDepth());

level[0] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

level[1] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[2] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[3] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[4] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[5] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1);

level[6] = new Array(1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[7] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[8] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[9] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[10] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[11] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[12] = new Array(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[13] = new Array(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1);

level[14] = new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

for (y=0; y<=14; y++) {

for (x=0; x<=24; x++) {

if (level[y][x] != 0) {

place_brick = lev.attachMovie(“block”, “block_”+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:x*20+10, _y:y*20+10});

place_brick.gotoAndStop(level[y][x]);

}

}

}

_root.attachMovie(“player”, “player”, _root.getNextHighestDepth(), {_x:40, _y:40});

player.onEnterFrame. = function() {

if (Key.isDown(Key.LEFT)) {

if (jump_walk or can_jump) {

xspeed = -walk_speed;

}

}

if (Key.isDown(Key.RIGHT)) {

if (jump_walk or can_jump) {

xspeed = walk_speed;

}

}

if (Key.isDown(Key.SPACE) and can_jump) {

yspeed -= jump_power;

can_jump = false;

}

yspeed += gravity;

if (yspeed>max_yspeed) {

yspeed = max_yspeed;

}

while (_root.lev.hitTest(this._x, this._y+this._height/2-1+yspeed, true)) {

yspeed--;

can_jump = true;

}

while (_root.lev.hitTest(this._x-this._width/2+1+xspeed, this._y, true)) {

xspeed++;

}

while (_root.lev.hitTest(this._x+this._width/2-1+xspeed, this._y, true)) {

xspeed--;

}

while (_root.lev.hitTest(this._x, this._y-this._height/2+1+yspeed, true)) {

yspeed++;

}

this._y += yspeed;

this._x += xspeed;

if (jump_walk or can_jump) {

xspeed = 0;

}

};

最终效果(按左右方向键和空格键试试)

上一篇:企业车辆租赁合同下一篇:黔西县重新镇沙坝小学开展“ 六心”教育活动实施方案