网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Flash > 制作实例 > Flash制作简单的物体二段跳效果  

Flash制作简单的物体二段跳效果

2008-04-15  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  非常非常简单的效果,按任意键进行方块的跳跃,有二段跳效果和轻跳和重跳效果,根据按键长短判定的。这是在兄弟会论坛做的一道题,很应该转来跟大家分享下~

网管联盟bitsCN@com

代码如下:
package {
/*author : CYPL*/
        import flash.display.*;
        import flash.events.*;
        import flash.utils.Timer;
        public class JumpTest extends Sprite {
                private static  const G:int=1;
                private var box:Sprite;
                private var landObject:Sprite;
                private var ySpeed:int=0; 网管u家u.bitsCN.com
                private var jumpSpeed:int=-15;
                private var keyPressed:Boolean= false;
                private var keyReleased:Boolean=true;
                private var comboJump:Boolean=false;
                private var inAir:Boolean=true;
                private var timer:Timer;
                public function JumpTest() {
                        box=drawRect((stage.stageWidth-50)/2,100,50,50,0xff0000);

网管网www_bitscn_com


                        landObject=drawRect(0,300,stage.stageWidth,20);
                        (timer=new Timer(30)).start();
                        configureControl();
                }
                private function configureControl():void {
                        stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownHandler,false,0,true);
网管联盟bitsCN_com

                        stage.addEventListener(KeyboardEvent.KEY_UP,keyUpHandler,false,0,true);
                        timer.addEventListener(TimerEvent.TIMER,timerHandler,false,0,true);

                }
                private function drawRect(posX:Number,posY:Number,w:Number,h:Number,color:uint=0):Sprite {
                        var rect:Sprite;
                        with (rect=new Sprite) { 网管下载dl.bitscn.com
                                graphics.beginFill(color);
                                graphics.drawRect(0,0,w,h);
                                x=posX;
                                y=posY;
                        }
                        return Sprite(addChild(rect));
网管论坛bbs_bitsCN_com

                }
                private function keyDownHandler(evt:KeyboardEvent):void {
                        keyReleased && inAir && !comboJump&&(comboJump=true,ySpeed=jumpSpeed,trace("comboJump"));
                        !keyPressed&&(keyPressed=true,inAir=true,ySpeed=jumpSpeed,timer.start());
                        keyReleased=false;
                } 网管下载dl.bitscn.com
                private function keyUpHandler(evt:KeyboardEvent):void {
                        keyReleased=true;
                        ySpeed<-5&&(ySpeed+=8)&&ySpeed>0&&ySpeed=0;
                }
                private function timerHandler(evt:TimerEvent):void {
                        evt.updateAfterEvent();
                        ySpeed+=G; 中国网管联盟bitsCN.com
                        box.y+=ySpeed;
                        ySpeed>0&&(box.hitTestObject(landObject))&&(trace(landObject.y),box.y=landObject.y-box.height,timer.stop(),keyPressed=false,inAir=false,comboJump=false);
                }



        }
}
//文档类,fla中设置下就能看到效果

TAGs   效果   物体   简单   制作       private    &   var       
 上一篇:Flash cs3制作旋转动画   下一篇:没有了
Flash制作简单的物体二段跳效果 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: