灵动游戏论坛游戏专区【游戏教程】游戏中控制角色惯性移动

1  /  4  页   1234 跳转 查看:3842

标题: 游戏中控制角色惯性移动

游戏中控制角色惯性移动



惯性移动也是一些游戏中常用的移动手法

此篇简单说一下惯性移动的制作方法

[FLASH=400,350]http://www.mhhf.net/teach/moves/moves.swf[/FLASH]

原文件下载

首先做好角色的MC,然后在MC上编写如下脚本:

// 侦听键盘,如果没有按键则变量kpress的值为"没有按键"
onClipEvent (load) {
myListener = new Object();
myListener.onKeyUp = function() {kpress = "没有按键"};
Key.addListener(myListener);}
// 设置初始值
onClipEvent (load) {
// 移动x初速度
var speed = 0;
// 移动y初速度
var yspeed = 0;
// 是否按键
var kpress = "没有按键";
// 最大速度
var maxs = 20+"公里/H";
// 碰壁函数
function hitt() {
// 右边界
if (_x>520) {speed = 0;x = 520;}
// 左边界
if (_x<30) {speed = 0;_x = 30;}
// 下边界
if (_y>370) {yspeed = 0;_y = 370;}
// 上边界
if (_y<30) {yspeed = 0;_y = 30;}
        }
}
// 设置最大速度
onClipEvent (enterFrame) {
if (speed>maxs) speed = maxs;//水平速度大于最大速度的时候,水平速度等于最大速度
if (speed<-maxs) speed = -maxs;//水平速度小于最大速度的负值时,水平速度等于最大速度的负值
if (yspeed>maxs) yspeed = maxs;//垂直速度大于最大速度的时候,垂直速度等于最大速度
if (yspeed<-maxs) yspeed = -maxs;} //垂直速度小于最大速度的负值时,垂直速度等于最大速度的负值
// 设置移动
onClipEvent (enterFrame) {_x += speed;_y += yspeed;
// 无按键时候的移动状态
if (kpress=="没有按键") {
      if (speed>0) speed--;
      if (speed<0) speed++;
      if (yspeed>0) yspeed--;
      if (yspeed<0) yspeed++;
      hitt(); //调用碰壁函数}
// 水平
if (kpress=="水平移动") {
    if (yspeed>0) yspeed--;
    if (yspeed<0) yspeed++;}
// 垂直
if (kpress=="垂直移动") {
    if (speed<0) speed++;
    if (speed>0) speed--;}
// 设置按键
if (Key.isDown(Key.LEFT)) {
    kpress = "水平移动";
    speed--;
    hitt();
  }
if (Key.isDown(Key.RIGHT)) {
    kpress = "水平移动";
    speed++;
    hitt();
  }
if (Key.isDown(Key.UP)) {
    kpress = "垂直移动";
    yspeed--;
    hitt();
  }
if (Key.isDown(Key.DOWN)) {
    kpress = "垂直移动";
    yspeed++;
    hitt();
      }
  }

这样一个惯性移动的角色就被创建了,用上、下、左、右键来控制试试吧
引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

看来你不是这块料了挖[em02]
引用
 

Re:游戏中控制角色惯性移动

呵呵,打击[em12][em03]
引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

好难看懂[em02]看来版主学问很高的嘛[em01]
引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 

Re:游戏中控制角色惯性移动

引用
 
1  /  4  页   1234 跳转

版权所有 灵动原创FLASH游戏中心   Sitemap

Powered by Discuz!NT 2.0.1214    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.0625 second(s) , 4 queries. 苏ICP备05047165号
返顶部