优化
This commit is contained in:
@@ -3,9 +3,13 @@ package uno.mloluyu.util;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.GL20;
|
||||
|
||||
public class ClearScreen {
|
||||
public ClearScreen() {
|
||||
/** 清屏工具:改为静态方法避免每帧 new 对象。 */
|
||||
public final class ClearScreen {
|
||||
private ClearScreen() {
|
||||
}
|
||||
|
||||
public static void clear() {
|
||||
Gdx.gl.glClearColor(0.3F, 0.3F, 0.5F, 1);
|
||||
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
32
src/main/java/uno/mloluyu/util/GameConstants.java
Normal file
32
src/main/java/uno/mloluyu/util/GameConstants.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package uno.mloluyu.util;
|
||||
|
||||
/**
|
||||
* 全局游戏常量集中放置。
|
||||
*/
|
||||
public final class GameConstants {
|
||||
/**
|
||||
* 地面(空气墙)Y 坐标。抬高后便于更好构图。
|
||||
*/
|
||||
public static final float GROUND_Y = 180f; // 可按需要再调
|
||||
|
||||
// 角色移动/物理参数(集中配置便于统一手感调节)
|
||||
// 用户要求:速度 *2,跳跃 *3(基于当前 520 / 1250)
|
||||
public static final float MOVE_SPEED = 1040f; // 520 *2 (最初 ~300)
|
||||
// 调低跳跃:更低高度 + 更短滞空:v0 ↓,同时重力 ↑
|
||||
// 说明:上升时间 t_up = v0 / g,本次取 v0=1500, g=3200 =>
|
||||
// t_up≈0.47s,总滞空≈0.94s,高度≈(v0^2)/(2g)≈351
|
||||
// 若想再更低:JUMP_SPEED 1400 + GRAVITY 3400;再更高一点:JUMP_SPEED 1600 + GRAVITY 3000。
|
||||
public static final float JUMP_SPEED = 1500f;
|
||||
public static final float GRAVITY = 3200f; // 加大重力让落地更快
|
||||
|
||||
// 调试命中盒渲染缩放(=1 表示真实大小;之前放大 3.6 现在回归可控)
|
||||
// 调试盒缩放:1 = 实际大小;若想放大显示结构,可调大。
|
||||
public static final float DEBUG_BOX_SCALE = 1.0f;
|
||||
// 是否按中心放大(true 则保持角色中心位置,不会视觉漂移)
|
||||
public static final boolean DEBUG_SCALE_FROM_CENTER = true;
|
||||
|
||||
// (可选)相机或后续平衡参数也可集中放这里
|
||||
|
||||
private GameConstants() {
|
||||
}
|
||||
}
|
||||
12
src/main/java/uno/mloluyu/util/ResourcePaths.java
Normal file
12
src/main/java/uno/mloluyu/util/ResourcePaths.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package uno.mloluyu.util;
|
||||
|
||||
/** 统一资源常量,避免魔法字符串散落。 */
|
||||
public final class ResourcePaths {
|
||||
private ResourcePaths() {
|
||||
}
|
||||
|
||||
public static final String LOGO = "logo.png";
|
||||
public static final String FONT_MAIN = "FLyouzichati-Regular-2.ttf";
|
||||
public static final String CHARACTER_ROOT = "character/";
|
||||
public static final String UI_SKIN_JSON = "ui/uiskin.json";
|
||||
}
|
||||
13
src/main/java/uno/mloluyu/util/TimeStepLimiter.java
Normal file
13
src/main/java/uno/mloluyu/util/TimeStepLimiter.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package uno.mloluyu.util;
|
||||
|
||||
/** 限制delta时间,防止窗口拖拽/卡顿后出现物理跳跃。 */
|
||||
public final class TimeStepLimiter {
|
||||
private TimeStepLimiter() {
|
||||
}
|
||||
|
||||
private static final float MAX_DELTA = 1f / 30f; // 上限: 相当于最低30FPS
|
||||
|
||||
public static float clamp(float delta) {
|
||||
return delta > MAX_DELTA ? MAX_DELTA : Math.max(delta, 0f);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user