我正在开发像Mario或Megaman这样的Android侧滚动游戏,我有一个非常奇怪的错误,我无法在任何地方找到任何信息。我在屏幕上的相对视图上有我的主角(一个ImageView)。视图仅在屏幕底部有imageview和3个按钮。我使用setX()和setY()在屏幕上移动图像,并且图像在X方向上正确移动,但由于某种原因,Y坐标始终关闭32.我的代码中没有任何地方更改Y值,除非是它被初始化,并且getY()总是比我分配给它的值高32。 X值很好。我在Android 4.1中运行它。我唯一能想到的是它是某种后端对齐协议,但我找不到任何关于它的信息。有谁知道造成这个奇怪问题的原因是什么?
答案 0 :(得分:0)
我认为活动会加载标题栏,然后标题栏会在此后不久被删除,因此问题可能是标题栏仍然存在时初始化Y值。也许尝试通过onDraw函数首次初始化Y值,如下所示:
public void Draw(Canvas canvas) {
if (!yHasBeenInitialized) {
initializeY();
yHasBeenInitialized = true;
}
...
}