快速业务通道

Flash实现物体运动的三种方法

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14
{  //当键被按下后执行下面的语句
  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动画拆下来用。明白嘛!),你可以制作8张图片,两个一组,前后左右方位的共四组,然后在影片中再增加几帧就OK了(大家可以自己探索一下)。这样就不会象导入Gif动画后影片一直动个不停了。


  方法三、通过鼠标拖拽和点击实现物体的任意运动

  拖拽方法的实现是很简单的,但它在游戏中的运用却是很广泛的。如拼图,推箱子,打老鼠,棋类等游戏都要用到这种方法。

  新增一个名为"mc"的影片。然后右键单击鼠标输入下面的代码即可:

  onClipEvent (mouseDown) { //当鼠标按下时执行下面代码
   startDrag (mc); //让影片吸附在鼠标并跟随鼠标一起运动
  }
  onClipEvent (mouseUp) { //当松开鼠标时执行下面代码
   stopDrag (); //影片脱离鼠标
  }

  这段代码的功能是点击一下鼠标,影片就出现在什么地方。

  新增一个名为"mc"的影片。然后右键单击鼠标

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号