统一跳一跳三维地块与落点判定

修正跳一跳长按起跳预测为真实脚点指向下一块顶面中心

统一前端指示器飞行动画与后端顶面 footprint 判定

调整 Three.js 方块贴图与角色顶面投影表现

补充跳一跳 UV 图集切片与运行态规则文档
This commit is contained in:
2026-06-12 22:42:39 +08:00
parent 6bdf84dc0d
commit 6ee55707e1
15 changed files with 1915 additions and 646 deletions

View File

@@ -8,6 +8,7 @@ import type {
JumpHopJumpRequest,
JumpHopLeaderboardResponse,
JumpHopRunResponse,
JumpHopStartRunRequest,
JumpHopRuntimeRunSnapshotResponse,
JumpHopSessionResponse,
JumpHopSessionSnapshotResponse,
@@ -47,7 +48,7 @@ type JumpHopStartRunOptions = JumpHopRuntimeRequestOptions & {
};
type JumpHopJumpPayload = Pick<
JumpHopJumpRequest,
'dragDistance' | 'dragVectorX' | 'dragVectorY'
'dragDistance'
>;
export type {
@@ -263,10 +264,14 @@ export async function startJumpHopRuntimeRun(
profileId: string,
options: JumpHopStartRunOptions = {},
) {
const requestBody: JumpHopStartRunRequest = {
profileId,
...(options.runtimeMode ? { runtimeMode: options.runtimeMode } : {}),
};
return requestRuntimeJson<JumpHopRunResponse>({
url: buildRuntimeApiPath(JUMP_HOP_RUNTIME_API_BASE, 'runs'),
method: 'POST',
jsonBody: { profileId },
jsonBody: requestBody,
fallbackMessage: '启动跳一跳运行态失败',
requestOptions: options,
});
@@ -279,8 +284,6 @@ export async function submitJumpHopJump(
) {
const requestPayload = {
dragDistance: payload.dragDistance,
dragVectorX: payload.dragVectorX,
dragVectorY: payload.dragVectorY,
clientEventId: `jump-${runId}-${Date.now()}`,
};