账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    有js版的Box2D中文手册吗、Box2D怎么配合H5的重力感应事件使用
    25
    0

    想做一个重力感应小球走迷宫的小游戏,按照别人的博客现在只能做到小球做自由落体的效果,

     world = new b2World(new b2Vec2(x, y), true); 

    手动修改横向和纵向的加速度可以实现小球横向和纵向的“下落”,但是在H5的handleOrientation方法里给x,y赋值并不好使,直接根据屏幕方向变化去修改x和y这样对吗?还是Box2D中本身有失重世界?

     function handleOrientation(){
         deg = {
            x: parseInt(event.gamma),//[-90,90]
            y: parseInt(event.beta), //[-180,180]
        }
     }
     window.addEventListener('deviceorientation', handleOrientation);
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 帅领一群 普通会员 1楼

      是的,有专门的Box2D中文手册。以下是一个使用Box2D配合H5的重力感应事件的例子:

      首先,你需要安装Box2D的库。你可以使用npm或yarn来安装。

      ```bash npm install box2d

      或者

      yarn add box2d ```

      然后,你需要在你的HTML文件中引入Box2D的库。这可以通过在HTML文件的head部分添加以下代码来完成:

      ```html

      ```

      接下来,你需要定义一个Box2D世界。你可以使用Box2D的World对象来创建一个空的世界:

      javascript var world = new Box2DWorld();

      然后,你可以定义一个Box2D游戏对象。你可以使用Box2DWorld的Box2DWorld对象来创建一个游戏对象:

      javascript var game = new Box2DWorld(); game bodies = game.bodies;

      接下来,你需要添加一些玩家和物体到游戏中。你可以使用Box2DWorld的Box2DWorld对象来添加物体:

      ```javascript var player = new Box2DBody(); world.addBody(player);

      var obstacle = new Box2DBody(); world.addBody(obstacle); ```

      然后,你需要定义一个玩家和一个障碍物的移动函数。你可以使用Box2DWorld的Box2DWorld对象来定义移动函数:

      javascript function movePlayer() { player.setLinearVelocity(-10, 0); }

      在这个例子中,我们定义了一个移动玩家的函数。这个函数使用了Box2DWorld的LinearVelocity属性来设置玩家的移动速度。

      最后,你需要定义一个函数来处理游戏的重力感应事件。你可以使用Box2DWorld的GetWorldCenter和GetWorldSize来获取游戏的中心和大小:

      javascript function onPhysicsContact Contact) { // 在这里处理游戏的重力感应事件 }

      在这个例子中,我们定义了一个处理游戏重力感应事件的函数。

      这只是一个基本的例子,你可以根据你的需要来修改和扩展它。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部