isHarryh/Ark-Pets

[Bug] 桌宠尝试原地跳高

Closed this issue · 4 comments

软件版本:v2.3.0
运行环境:Windows 11

问题描述

桌宠模型频繁地原地起跳,在播放行走或基建动作前从任务栏起飞至约屏幕3/4高度处并降落。

复现方法

加载任何模型,放置一段时间待其播放行走或基建动作

该问题可能(但并非必定)与模型库版本有关,目前出现问题的是44版本,其他版本由于难以回退并未测试。

版本2.3.0,同样有此问题,且十分频繁(只要有动作改变就会跳起)。旧版本的主程序在同主机上确认无此情况。(首次测试时未更新模型库(为42版),仅更新主程序到2.3.0,就开始出现此情况。后测试更新模型库到44版后还是会这样。应该和模型库没啥关系)
录屏:https://github.com/isHarryh/Ark-Pets/assets/63101620/acb0d1e1-4d78-490a-bbe9-9d7fd5453c2c

已证实该问题存在:桌宠播放行走动作时,y坐标被错误地增加了2倍的窗口高度。该问题属于作者在调试时未测试桌宠行走动作导致。问题代码位于:

private void walkWindow(float len) {
float expectedLen = len * WD_SCALE * (30f / APP_FPS);
int realLen = randomRound(expectedLen);
float newPlaneX = windowPosition.end().x + realLen;
float newPlaneY = -(windowPosition.end().y - WD_H);
plane.changePosition(Gdx.graphics.getDeltaTime(), newPlaneX, newPlaneY);
}

其中L395第二个减号(-)应为加号(+)。将于下一个补丁版本修复。

已发布 v2.3.1