范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

如何在Flash中实现物体运动

  现在用Flash开发的游戏是越来越多了。很多朋友也很想学习用Flash制作游戏的方法。大家知道,不管在什么游戏中,实现物体的运动是游戏的前提,而不同的游戏里物体移动的方式又不尽相同。所以,想学习制作Flash游戏的朋友今天就先随我一起学学在Flash中实现物体运动的几种方法吧。几种方法如下:
  方法一:通过单击按钮实现物体的单位运动
  这种方法一般在需要按键的游戏中使用。你也可以给某个实体加上这段代码,然后通过单击这个实体达到某种游戏效果。
  1、 打开Flash,按快捷键"Ctrl + M"打开[ Movie Properties ]面板。根据你的要求设置场景大小和背景颜色。
  2、 按快捷键"Ctrl + F8"新建一个名为Graphic的Graphic符号(Movie Clip符号也行)。
  3、 按快捷键"Ctrl + R"导入一张动物图片(我导入图片中动物的脸是面向右的,这样是为了移动效果更真实)。你也可以在move影片的场景里随便画个方块或圆圈。不过这样做效果就不太明显了。
  4、 按快捷键"Ctrl + F8"新建一个名为move的Movie Clip符号,把Graphic符号拖拽到move影片的第1帧中。双击第1帧,输入函数Stop()。右键单击第1帧,选择Copy Frames命令。然后右键单击第2帧,选择Paste Frames命令。
  5、 选择move影片第2帧中的图片,执行[Modify]→[Transform]→[Flip Horizontal]命令把图片水平翻转。注意:影片在第1帧和第2帧中的位置应该是一样的(用快捷键"Ctrl + Alt + I"打开Instance面板设置图片的X轴Y轴坐标)。
  6、 回到主场景,按快捷键"Ctrl + L"打开Library后按住鼠标左键把影片move拖拽到场景中。按快捷键"Ctrl + I"打开Instance面板,给move影片起名为mc。
  7、 单击[Windows]菜单→[Common Libraries]→[Bottons]打开按钮符号库。选择 "(circle)VCR Button Set"中的"gel Left"和"gel Right"按钮,然后把它们拖拽到场景中适当的位置。
  8、 右键单击"gel Left"按钮,输入如下代码:
  复制代码
  代码如下:
  on (release) {
  tellTarget ("_root.mc") { //告知电影以被调用,跳转到第2帧
  gotoAndStop (2); //跳转到第二帧后,影片就换了个方向
  }
  movex = getProperty("/mc", _x); //将影片在场景中的X坐标值附给movex
  movex = movex-10; //以10个像素为单位变动坐标值,实现物体的移动。
  setProperty ("/mc", _x, movex); //重新定义影片的'_x'坐标属性
  }
  9、 右键单击"gel Right"按钮,输入如下代码:
  复制代码
  代码如下:
  //单击此按钮,跳转到第1帧。实现图片地翻转
  on (release) { //以下代码含义参考上面
  tellTarget ("/mc") {
  gotoAndStop (1);
  }
  movex = getProperty("/mc", _x);
  movex = movex+10;
  setProperty ("/mc", _x, movex);
  }
  以上两段代码是用来控制物体左右运动的。至于控制物体垂直方向运动的代码可以结合"方法二"自己编写…
  另外,你可以通过"onClipEvent (mouseDown){ }"语句实现单击鼠标左键实现物体的单向运动。"{ }"中添加的代码参考"方法一",很简单的,篇幅关系这里就不多说了。但是"方法一"的设计还有一些不完美。这些我们将在"方法二"中解决。
  方法二:通过敲击方向键实现物体的单位运动
  这种方法在游戏中是经常被使用到的,尤其是RPG游戏,学会它是设计RPG和其它很多游戏(如俄罗斯方块)的基础。实例中用的是小键盘的方向键,你有可以把它改成其它键,做出各种你想要的效果。
  1-5步同"方法一"。
  6、 右键单击move影片第1帧中的Graphic图片(是右键单击图片,不是帧),选择Actions命令。输入如下的代码:
  复制代码
  代码如下:
  onClipEvent (keyDown) { //当键被按下后执行下面的语句
  if (Key.getCode() == Key.LEFT) {
  //如果击键为'←'键就告之影片跳到第2帧执行。实现图片地翻转
  tellTarget ("/mc") {
  gotoAndStop (2);
  }
  }
  if (Key.getCode() == Key.RIGHT) { //如果击键为'→'键就执行下面的语句
  width = getProperty("/mc", _width); //把影片宽度附值给变量width
  movex = getProperty("/mc", _x);
  movex = movex+width/10; //以影片宽度的十分之一作为图片移动的单位值
  setProperty ("/mc", _x, movex);
  }
  if (Key.getCode() == Key.UP) { //以下代码含义参考上面
  height = getProperty("/mc", _height);
  movex = getProperty("/mc", _y);
  movex = movex-height/40;
  setProperty ("/mc", _y, movex);
  }
  if (Key.getCode() == Key.DOWN) {
  height = getProperty("/mc", _height);
  movex = getProperty("/mc", _y);
  movex = movex+height/40;
  setProperty ("/mc", _y, movex);
  }
  }
  7、 右键单击第2帧中的move影片,选择Actions命令。输入如下代码:
  复制代码
  代码如下:
  onClipEvent (keyDown) { //以下代码含义参考上面
  if (Key.getCode() == Key.LEFT) {
  width = getProperty("/mc", _width);
  movex = getProperty("/mc", _x);
  movex = movex-width/10;
  setProperty ("/mc", _x, movex);
  }
  if (Key.getCode() == Key.RIGHT) {
  //如果击键为'→'键就告之影片跳到第1帧执行。实现图片地翻转
  tellTarget ("/mc") {
  gotoAndStop (1);
  }
  }
  //还有两段控制图片上下运动的代码同上
  }
  8、 回到主场景,按快捷键"Ctrl + L"打开Library后按住鼠标左键把影片move拖拽到场景中。按快捷键"Ctrl + I"打开Instance面板,给影片move起名为mc。
  这样,影片就可以做上下左右的运动了。不相信你可以按小键盘上的方向键试试看。最终效果如图2。不过大家又发现一个问题,就是实体一直往一个方向移动的话,然后就会跑的无影无踪。那怎么办呢?别急,让我们再给实体加上下面一段代码,让实体出不了边界:
  右键单击move影片第1帧中的Graphic图片,然后在"movex = movex+width/10;"代码下添加如下代码:
  复制代码
  代码如下:
  if(movex>=300-width){ //假设影片的场景宽度为300;
  movex=300-width; //这样设置是因为场景是以左上角的点为(0,0)点的
  }
  右键单击move影片第2帧中的Graphic图片,然后在"movex = movex-width/10;"添加如下代码:
  复制代码
  代码如下:
  if(movex<=0){
  movex=0;
  }
  在垂直方向运动的代码你可以自己写了吧,我这里就不说什么了。
  影片中,你也可以把图片换成动画。如果你想自己做人物动画(如果你自己不会画的话,就把GIF动画拆下来用。明白嘛!^o^),你可以制作8张图片,两个一组,前后左右方位的共四组,然后在影片中再增加几帧就OK了(大家可以自己探索一下)。这样就不会象导入Gif动画后影片一直动个不停了。
  方法三、通过鼠标拖拽和点击实现物体的任意运动
  拖拽方法的实现是很简单的,但它在游戏中的运用却是很广泛的。如拼图,推箱子,打老鼠,棋类等游戏都要用到这种方法。
  新增一个名为"mc"的影片。然后右键单击鼠标输入下面的代码即可:
  复制代码
  代码如下:
  onClipEvent (mouseDown) { //当鼠标按下时执行下面代码
  startDrag (mc); //让影片吸附在鼠标并跟随鼠标一起运动
  }
  onClipEvent (mouseUp) { //当松开鼠标时执行下面代码
  stopDrag (); //影片脱离鼠标
  }
  这段代码的功能是点击一下鼠标,影片就出现在什么地方。
  新增一个名为"mc"的影片。然后右键单击鼠标输入下面的代码即可:
  复制代码
  代码如下:
  onClipEvent (mouseDown) {
  x = _root._xmouse; //把鼠标当前在场景中的X坐标值附值给变量x
  y = _root._ymouse; //把鼠标当前在场景中的Y坐标值附值给变量y
  setProperty ("/mc", _x, x);
  setProperty ("/mc", _y, y);
  }

三星GalaxyC7Pro支持4G网络吗?支持4G吗?三星GalaxyC7Pro支持4G网络吗三星GalaxyC7Pro支持4G网络。针对三星GalaxyC7Pro支持4G网络吗的问题,三星GalaxyC7Pro预装Android6。三星GalaxyC9Pro支持扩展储存卡吗三星GalaxyC9Pro支持扩展储存卡吗三星GalaxyC9Pro支持扩展储存卡。关于三星GalaxyC9Pro支持扩展储存卡吗的疑问,下面将做详细的解答。三星GalaxyC9P三星GalaxyC9Pro的摄像头怎么样三星GalaxyC9Pro的摄像头怎么样三星GalaxyC9Pro前后摄像头都是1600万像素,拥有F1。9的大光圈。此外,该机的前置镜头还采用了三星最新的light算法技术,可以三星GalaxyC9Pro的屏幕尺寸是多少三星GalaxyC9Pro的屏幕尺寸是多少三星GalaxyC9Pro的屏幕尺寸是6英寸。针对三星GalaxyC9Pro的屏幕尺寸是多少的问题,三星GalaxyC9Pro运行的基于a三星GalaxyC9Pro的CPU是什么三星GalaxyC9Pro的CPU是什么三星GalaxyC9Pro的CPU是高通骁龙653(8核)。三星GalaxyC9Pro内置4000mAh大容量电池,支持QC3。0快充技术,三星GalaxyC9Pro续航能力怎么样三星GalaxyC9Pro续航能力怎么样续航方面,三星GalaxyC9Pro内置4000mAh大容量电池,支持QC3。0快充技术,这样的电池容量对于重度用户来说绝对的足够,而且轻度三星GalaxyC9Pro电池怎么样三星GalaxyC9Pro电池怎么样三星GalaxyC9Pro内置4000mAh大容量电池,支持QC3。0快充技术,这样的电池容量对于重度用户来说绝对的足够,而且轻度用户可以死撑不三星GalaxyC9Pro的屏幕怎么样三星GalaxyC9Pro的屏幕怎么样三星GalaxyC9Pro采用6英寸的全高清SuperAMOLED屏幕,分辨率为1080x1920,屏幕超窄边框设计,覆盖2。5D玻璃设计,外三星GalaxyC9Pro能拍摄720p视频吗三星GalaxyC9Pro能拍摄720p视频吗三星GalaxyC9Pro能拍摄720p视频。针对三星GalaxyC9Pro能拍摄720p视频吗的问题,三星GalaxyC9Pro还具三星GalaxyC9Pro的手机系统是什么三星GalaxyC9Pro的手机系统是什么三星GalaxyC9Pro的手机系统是Android6。0。三星GalaxyC9Pro指纹识别除了支持三星自家的SamsungPay之外,三星GalaxyC9Pro支持电信卡吗三星GalaxyC9Pro支持电信卡吗三星GalaxyC9Pro支持电信卡。三星GalaxyC9Pro支持电信卡吗?三星GalaxyC9Pro运行的基于android6。0。1深度
一加9TPro外观怎么样外观详情一加9TPro这款手机可是一款有着非常强悍性能的手机,绝对是可以为小伙伴们带来不错的性能体验感,但是这款手机的外观到底是什么样子的呢?是否是可以让小伙伴们一见钟情呢?现在就由小编来一加9RT外观怎么样外观详情一加9RT绝对是一款可以为小伙伴们带来不错性能体验感受的手机哦,舒适的屏幕,稳定的性能,带来一流的性能体验感受哦,那么这款手机除了是有着不错的体验外是否是有着出色的外观呢?现在就有三星I9100和I9100G的区别三星GALAXYS是三星安卓阵营最热门的机型,时尚极致纤薄的设计,绝对顶级的配置,目前,三星又推出了GTI9100G,很多消费者都陷入了GTI9100和GTI9100G的漩涡中,到三星i9100G和i9100有什么区别三星i9100G和i9100有什么区别三星GALAXYi9100G和三星GALAXYi9100最大的不同就是CPU的不同,GALAXYi9100用的是三星自家的猎户座,GALAXYi9108和i9100有什么区别i9108和i9100区别详解三星手机一直得到国内外年轻人热捧,尤其是三星i9108和i9100,这两大版本更是大家议论的话题,到底i9108和i9100哪个好,又有哪些区别呢?下面通过四大不同的角度来比较一下HTCG21和三星I9100HD哪个好HTCG21采用了Android2。3。5系统,并搭载了最新的HTCSense3。5,在Sense3。5中依旧保持了很好的显示效果,支持桌面插件全屏天气显示和多种查看方式切换。而三HTCG17和三星I9100HD哪个好HTCG17搭载了Android2。3系统和最新的SENSE3。0界面,效果十分华丽。而三星I9100HD搭载Android2。3系统,还采用了最新的Touchwiz4。0的界面。HTCG15和三星I9100HD哪个好HTCG15采用最新的Android2。3。3,并搭配最新的Sense2。1界面。HTCG15内置的Facebook客户端是专门为HTC开发的,主题风格和Sense界面的风格一致,红米3的CPU是什么?红米3的CPU主频是多少?小米红米手机3的CPU是什么小米红米手机3的CPU是高通骁龙616(8核)。小米红米手机3还采用了三选二的SIM卡槽设计,支持MicroSIM卡nanoSIM卡或者MicroSIM红米2的CPU是什么?红米2的CPU主频是多少?红米2的CPU是什么红米手机2采用高通64位骁龙410四核处理器。红米手机2采用了4。7英寸全贴合IPS屏幕,分辨率为720x1280。红米手机2的机身尺寸为134times67。红米Note的CPU是什么?红米Note的CPU主频是多少?红米Note的CPU是什么红米Note的CPUMTK联发科真八核28纳米CPU。红米Note使用了5。5寸720pIPS全贴合屏幕,分辨率1280x720像素,采用了全贴合屏幕,有