• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>AS 应用>文章内容
  • 物体左右跳跃的类(as2.0 )
  • 来源:闪吧 作者:smallerbird 2008-06-16 【

先看实例:



使用实例:

//flash原创代码
//尽在自娱自乐 www.MyGameMyLove.com
//物体左右跳跃的类as2.0
//水平速度
var xsd:Number = 10;
//重力
var numg:Number = 5;
//垂直速度
var ysd:Number = -18;
//声明对象
//对象名称obj_实例名称,
var obj_mc = new jump (mc, xsd, numg, ysd);
_root.onEnterFrame = function ()
{
obj_mc.onEnterFrame ();
};
var keyListener:Object = new Object ();
keyListener.onKeyUp = function ()
{
switch (Key.getCode ()) {
case 37 :
  //trace ("<");
  obj_mc.go(-1);
  break;
case 39 :
  //trace (">");
  obj_mc.go(1);
  break;
}
};
Key.addListener (keyListener);


类文件:##########################################

class jump
{
//mc目标影片
var mc:MovieClip;
//水平速度
var xsd:Number;
//重力
var numg:Number;
//垂直速度
var ysd:Number;
var iniYsd:Number;
//地面的位置
var iniY:Number;
private var jumpx:Number;
//是不是第一次开始跳跃
private var isFirst:Boolean = true;
//是否开始跳
private var isJump:Boolean = false;
//初使化
function jump (mc:MovieClip, xsd:Number, numg:Number, ysd:Number)
{
  this.mc = mc;
  this.xsd = xsd;
  this.numg = numg;
  //
  this.iniYsd = ysd;
  this.ysd = ysd;
  //
  iniY = mc._y;
}
//跳
function go (jumpx:Number)
{
  if (!isJump) {
   isJump = true;
   this.jumpx = jumpx;
  }
}
// 检测是否跳,并作跳的处理
function jumping ()
{
  if (!isJump) {
   return 0;
  }
  //
  if (isFirst) {
   ysd += numg;
   mc._y += ysd;
   mc._x += xsd * jumpx;
   isFirst = false;
  }
  else {
   if ((mc._y + ysd + numg) < iniY) {
    ysd += numg;
    mc._y += ysd;
    mc._x += xsd * jumpx;
   }
   else {
    mc._y = iniY;
    isFirst = true;
    isJump = false;
    this.ysd = this.iniYsd;
   }
  }
}
//要循环都统一放在这里。
function onEnterFrame ()
{
  jumping ();
}
}




上一篇:新做的一个窗体系统demo,附带AIR版demo   下一篇:两个图标交换(as2.0 )
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)