Articles of 跳转

Libgdx – 跳,我做错了什么?

我真的不能解决我的代码有什么问题。 我有一个手势input监听器,当我滑动的位置在y轴上上升罚款,但他不回来,如果join了重力。 我会告诉你任何与角色相关的代码。 World.java:updateRuben private void updateRuben (float deltaTime, float accelX) { if (Ruben.getState() != Ruben.RUBEN_STATE_IDLE && ruben.position.y <= 0.5f) ruben.hitPlatform();// if (Ruben.getState() != Ruben.RUBEN_STATE_IDLE) ruben.velocity.x = -accelX / 10 * Ruben.RUBEN_MOVE_VELOCITY; // clamp the velocity to 0 if it's < 1, and set the state to standing if (Math.abs(ruben.velocity.y) < 1) { ruben.velocity.y = […]

在libgdx中实现一个基本的跳转

我已经看到了libgdx文件,并设法移动字符,也实现了界限,但文件并没有显示如何实现跳转。 我已经下载了superjumper演示代码,但对我来说太困难了。 这里有人能指导我吗? 比如说我们有一个spritebatch: Spritebatch batch; 当触摸屏幕时,如何实现这个spritebatch的跳转?

统一在墙上跳跃

我有一个2D平台游戏,最近我实现了跳墙游戏,而且我拥有这个游戏的方式非常棒。 然而,当一个人跳到墙上时,可以将自己固定在墙上。 这是我不想要的东西。 这是由于统一的内在物理,是我想修改的东西。 我想知道什么是最好的方式去做这件事? 这是很难解释,如果你不明白,请不要犹豫,提出问题。 编辑:由于代码被要求我在这里:但是我不认为这是与我的代码,我认为这是与团结使用的物理。 using UnityEngine; using System.Collections.Generic; public class Player_Movement : MonoBehaviour { public bool facingRight = true; public float moveForce = 365f; // Amount of force added to move the player left and right. public float maxSpeed = 5f; // The fastest the player can travel in the x axis. […]

碰撞检测无响应

我在Libgdx中创建了一个简单的跳投游戏,让玩家跳过障碍物以保持活力。 唯一的问题是当玩家刚碰到地面时的碰撞检测: 1)看起来有点像重新粉刷(因为在回到0以上之前它往往会偏离太远)。 2)不能再次跳跃(一个非常小,但令人讨厌的延迟)。 这是检查冲突的代码: public void update(float dt) { if (location.y < screenBounds.y) { location.add(MOVEMENT * dt, 0, 0); velocity.y = 0; location.y = 0 + dt; } else { velocity.add(0, GRAVITY, 0); velocity.scl(dt); location.add(MOVEMENT * dt, velocity.y, 0); velocity.scl(1 / dt); } } 我知道为什么,这是这样做的: LOCATION BEFORE RESETTING -0.45871875 LOCATION AFTER RESETTING 0.017244088 认识到y轴上的位置低于0会花费太长的时间。这会造成一个困难,以及它允许​​玩家再次跳跃的时间之间的小延迟。 […]

dynamic的身体跳出水的对象

在我的游戏中,我有我的主要对象,一个滑水板,当触摸屏幕时,它将潜入水中。 我设法使用Box2d和一些浮力编码水下滑水。 但是,当水上摩托艇在水面上时,它只会升到水面并停留在那里。 简而言之:摩托艇不会跳跃。 我想尽快应用武力,因为水上摩托是表面上的。 问题在于,这支部队将会是一个持续不变的力量,而忽略了水上摩托艇的深度(摩托艇越深,水上升越快)。 还有其他的方法吗? 这是我想要的东西: https : //www.youtube.com/watch?v = b2t_zMOy5SM

如何用LibGDX跳转到Box2D

我正在利用Ashley和Box2D在LibGDX中制作2D平台。 我拥有它, PlayerControllerSystem被按下的跳转键: // Jumping if (Gdx.input.isKeyPressed(Keybindings.KEY_JUMP)) { entity.add(new JumpingComponent()); } 这就像一个魅力。 每当我按下跳转键, PlayerJumpingSystem启动: /** * System used for the player jumping mechanism * @author Tim */ public class PlayerJumpingSystem extends IteratingSystem { @SuppressWarnings("unused") private final static String TAG = PlayerJumpingSystem.class.getName(); // Variable declaration @SuppressWarnings("unchecked") private static final Family family = Family.all( PositionComponent.class, VelocityComponent.class, PhysicsComponent.class, […]

马里奥喜欢在box2d跳跃和降落,帮助

我一直试图在Box2d游戏中获得Mariotypes的跳跃/着陆,这给我带来了一些麻烦。 结果:玩家在着陆时失去速度 期望的结果:当玩家着陆时,它将继续以相同的速度在空中飞行。 玩家在冲击中失去速度,但迅速恢复其设定的最大速度。 我知道这是一个摩擦的问题,我试图将摩擦力设置为0,当用户按下左,右移动键,当玩家没有按下这些键时恢复到正常摩擦。 然而,这并不起作用,因为在碰撞结束之前状态不会改变,并且玩家将被卡住,直到碰撞状态改变。 我下一个最好的猜测是将摩擦力设置为零,并且模拟玩家的反作用力。 解? 提示? 嘿…也许有一个教程,我错过了。 提前致谢。 示例http://www.guioui.c​​om/saxattack/box2d_landing.png Vector2 a = entityBody.getLinearVelocity(); float force = 0; if(Gdx.input.isKeyPressed(Keys.D)){ if(ax < 5) force = 25; //entityBody.getFixtureList().get(0).setFriction(0); //floor.entityBody.getFixtureList().get(0).setFriction(0); //entityBody.resetMassData(); //entityBody.applyLinearImpulse(new Vector2(0f,1f), entityBody.getWorldCenter()); //entityBody.applyForce(new Vector2(0f,50f), entityBody.getWorldCenter()); } else if(Gdx.input.isKeyPressed(Keys.A)){ if(ax > -5) force = -25; //entityBody.getFixtureList().get(0).setFriction(0); //floor.entityBody.getFixtureList().get(0).setFriction(0); //entityBody.resetMassData(); //entityBody.applyForce(new Vector2(0f,50f), entityBody.getWorldCenter()); } else{ entityBody.getFixtureList().get(0).setFriction(.4f); floor.entityBody.getFixtureList().get(0).setFriction(.4f); […]

跳转处理和重力

我是新来的游戏开发,并正在寻求一些帮助,以改善我的跳跃处理我做了一个简单的侧滚动游戏。 如果按键全部按下跳跃,我想跳跃的持续时间更长,否则如果按键被敲击,跳跃不会很长。 目前,我如何处理跳跃如下: Player.prototype.jump = function () { // Player pressed jump key if (this.isJumping === true) { // Set sprite to jump state this.settings.slice = 250; if (this.isFalling === true) { // Player let go of jump key, increase rate of fall this.settings.y -= this.velocity; this.velocity -= this.settings.gravity * 2; } else { // […]