使用Phaser尝试P2物理引擎

物理引擎通过为刚性物体赋予真实的物理属性的方式来计算运动、旋转和碰撞反映。本例程使用了Phaser中的P2物理引擎。在点击空白区域将创建一个箱子,点击箱子会消除它

<!doctype html>
<html>
    <head>
            <script src="phaser.min.js"></script>
            <style>
                body{margin:0}
            </style>
            <script type="text/javascript">
            window.onload = function() {
                var game = new Phaser.Game(720,480,Phaser.CANVAS,"",{preload:onPreload, create:onCreate});
                     
                // 载入箱子的皮肤
                function onPreload() {
                    game.load.image("crate", "crate.png");
                }
                 
                // 创建游戏
                function onCreate() {
                    // 添加 P2 物理引擎
                    game.physics.startSystem(Phaser.Physics.P2JS);
                    // 设置重力
                    game.physics.p2.gravity.y = 250;
                     // 添加鼠标按下或触摸事件
                    game.input.onDown.add(addRemove, this);       
                }
                 
                function addRemove(pointer){
                    // 检查刚体是否被点击
                    var bodyClicked = game.physics.p2.hitTest(pointer.position);
                    if(bodyClicked.length==0){
                        // 创建物理刚体
                        var crate = game.add.sprite(pointer.position.x, pointer.position.y, "crate");
                        game.physics.p2.enable(crate);
                    }
                    else{
                        // 销毁物理刚体及其图形
                        bodyClicked[0].parent.sprite.kill();
                    }
                }
                };
        </script>
    </head>
    <body>
    </body>
</html>


转载于:https://my.oschina.net/u/1986600/blog/371183

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值