由浅入深学习Flash制作物体弹跳游戏 电脑资料_第1页
由浅入深学习Flash制作物体弹跳游戏 电脑资料_第2页
由浅入深学习Flash制作物体弹跳游戏 电脑资料_第3页
由浅入深学习Flash制作物体弹跳游戏 电脑资料_第4页
由浅入深学习Flash制作物体弹跳游戏 电脑资料_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

由浅入深学习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 _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(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论