正文

Flash实现物体运动的三种方法二2006-05-15 20:56:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/guxingxia/14141.html

分享到:

方法二:通过敲击方向键实现物体的单位运动  这种方法在游戏中是经常被使用到的,尤其是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动画拆下来用。明白嘛!),你可以制作8张图片,两个一组,前后左右方位的共四组,然后在影片中再增加几帧就OK了(大家可以自己探索一下)。这样就不会象导入Gif动画后影片一直动个不停了。

阅读(2068) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册