我刚开始用box2d,我试着让火箭(现在是矩形)飞起来,当游戏开始时,它只是垂直地站着,我想从矩形的底部施加力量,因为那是引擎的位置,也是矩形面对的方向。我试着这样做
body.applyLinearImpulse(getUserData().getBoosterLinearImpulse(), new Vector2(body.getWorldCenter().x, body.getWorldCenter().y - Constants.ROCKET_HEIGHT), true);
这是一种在按下屏幕右下角时执行的方法。它仅在矩形静止时工作。我显然不知道我在做什么。我还有另一个问题:applyLineairForce和applyForce之间有什么区别,我觉得使用box2d并不容易(这不是问题),我该如何最好地学习?
如果我理解的没错,你想知道applyLinearImpulse和applyForce之间的区别。冲量是一次性施加的力,通常用于游戏中的跳跃,而力则是每一帧施加的力,比如说提高汽车的速度。
为了给火箭施加力,你可以使用如下方法:
// gets x force based on angle
float x = (float)Math.sin(body.getAngle() - Math.PI); // minus PI as objects start off facing right
// gets y force based on angle
float y = (float)Math.cos(body.getAngle());
//apply force to center (applies force to middle so no rotation )
//body.applyForceToCenter( new Vector2(
// body.getMass()* (x * 12),
// body.getMass()*(y*12)), true);
//NOTE: bodies must be set to .fixedRotation = false in order to rotate;
//apply force to a point on body (will create rotational force )
body.applyForce( new Vector2(
body.getMass()* (x * 12),//x force to apply
body.getMass()* (y * 12)), //y force to apply
// apply force to body at 0.5f(halfway for 1f wide object) x and -5 y
body.getWorldPoint(new Vector2(0.5f,-5)),true);
我一直在尝试在Libgdx中找到/创建矩形的碰撞检测,但似乎什么都做不到。我有一个叫bucket的矩形,宽度和高度为64,还有一个叫wall的矩形,宽度和高度为64。我试着让玩家不穿过矩形,可以在粘墙的同时继续移动,而不需要通过相位或随机传送。我的方法在有1个块的情况下有效,但当有多个块的时候,它就会中断,不起作用。 我知道这种方法很难看但这只是实验 如果有人能给我指出正确的方向或分享一些对我有帮
我正在为我的播放器和bullet类创建一些围绕精灵的矩形,以使用LibGDX的Intersector类中的重叠方法检测碰撞。 我有一个问题: 当我实例化Player和Bullet时,我使用sprite.getBoundingRectangle()在精灵周围创建一个边界框,它返回一个Rectangle对象。我在主类的其他地方更新这些的移动。 当我更新子弹/玩家精灵的移动时,我是否也需要更新子弹/玩家
我试图在现有画布中的特定框顶部添加一些红色矩形,与预期结果图像完全相同,但它们根本没有出现,因为我的代码显示了部署应用程序时当前不希望出现的结果。我的代码是在顶行和底行分别创建4个矩形,但我只想将其添加到框2-6的顶部,但我知道需要为框1顶部的红色矩形添加额外的代码 activity_main.xml MainActivity.java
好的,我想试试这个: > 然后检查碰撞检测,如图所示。第一种是正面碰撞,第二种是侧面碰撞。碰撞http://img802.imageshack.us/img802/2934/rectangles2.png 然后删除精灵,只保留代码中的向量。(位置和旋转)我希望如此,因为我想在这些位置添加3d Cars和他的旋转。我的意思是,在2d中没有精灵的碰撞检测。 在游戏结束时,将没有精灵。仅三维对象。 有人
我想一起旋转一组精灵,多边形和矩形,图a)显示2个精灵,边界多边形和矩形,这组围绕大矩形中心旋转90度(两个矩形的联合)。 以下代码创建图b)。它不会围绕联合矩形的中心旋转精灵和多边形。 下面的代码创建了图c)。当我试图将精灵和多边形移动到矩形位置时,出现了对齐错误。 问题是旋转后如何将精灵与矩形对齐(即类似于图a,角度=0)。提示:问题出现是因为精灵在绘制时会旋转,因此精灵和矩形之间会错位对齐。
我想把html附加到D3中的矩形上,给我一个多行工具提示。底部是如何添加一个矩形,这可能是问题的一部分。最上面是应该在我的世界里工作的代码。 这会将文本字段插入SVG,但它只是不显示: html: 我有一个鼠标移过函数,它运行以下内容: 我想我应该这么做,但这不起作用。它只是删除了我试图追加到的g.node。 问题:为什么我的文字没有出现?我试过.html,.textarea。我想要一个多行标签,