论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

flash游戏中控制角色惯性移动

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:35:34


 

首先做好角色的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();
       }
  }

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

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058