Flixel横板游戏制作教程(九)—SquashingthePlayer(挤压Player)

from: http://bbs.9ria.com/thread-77302-1-1.html

 

演示程序

http://www.adamatomic.com/canabalt/

http://www.flixel.org/mode/

 

Flixel横板游戏制作教程(九)—SquashingthePlayer(挤压Player)

Flixel横板游戏制作教程(九)—SquashingthePlayer(移动平台)
本教程是接着Flixel横板游戏制作教程(八)—MovingPlatforms(移动平台)来做的。
平台挤压player,然后player受到高伤害以至于 挂掉。。
下面开始教程了。
先看到 Player 类:

 

package 
{
        import org.flixel.FlxG;
        import org.flixel.FlxGroup;
        import org.flixel.FlxObject;
        import org.flixel.FlxSprite;
        
        /**
         * ...
         * @author zb
         */
        public class Player extends FlxSprite 
        {
                //*********已有的内容************//
                
                //加入玩家 挂掉时的 音效
                [Embed(source = 'media/asplode.mp3')]
                protected var killSnd:Class;
                
                //*********已有的内容************//
                
                //重写一下 kill方法
                override public function kill():void 
                {
                        //主要是加入一个 播放 挂掉时的音效
                        FlxG.play(killSnd);
                        super.kill();
                }
        }
        
}

 然后是 GameState 类:

package 
{
        import org.flixel.FlxG;
        import org.flixel.FlxGroup;
        import org.flixel.FlxObject;
        import org.flixel.FlxSprite;
        import org.flixel.FlxState;
        import org.flixel.FlxText;
        import org.flixel.FlxTileblock;
        import org.flixel.FlxU;
        
        /**
         * ...
         * @author zb
         */
        public class GameState extends FlxState 
        {
                //**********已有的内容*************//
                
            override public function update():void 
                {
                        //**********已有的内容*************//
                        
                        //使用 overlap 的方法,检测 玩家与平台重叠时
                        //就会将 player 挤压到 挂掉
                        FlxU.overlap(player, levels, squashingthePlayer);
                        
                        
                        //还是要提醒下,别忘了加上。。。
                        super.update();
                }
                
                private function squashingthePlayer(obj1:FlxSprite,obj2:FlxSprite):void
                {
                        //这里让 player 受到 1000点的伤害
                        //player 默认 生命值 为 10点
                        //这样 player 就会被 kill
                        obj1.hurt(1000);
                }
                
                //**********已有的内容*************//
        }
        
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值