我的Android游戏使用基于真实空间坐标的屏幕坐标,我的转换过程是这样的:所有这些都是伪代码,但我已经将其突出显示为代码
Real-space=(position/480); (so for example 240/480 would be halfway across the screen)
Velocity = 1/Time; (Time = seconds)
Real-space= Real-space+ (Velocity * delta time);
Screen Coordinates = Real-space* screen width / length
现在我的问题是,在我的游戏中,我需要匹配两个精灵的屏幕坐标,所以它们一起移动(一个在另一个上面,所以我只是使用像
这样的东西)。Sprite1_Screen_Coords = (Sprite_2_Screen_Coords-Sprite1 Height)
(所有的高亮都是缩放的,所以相对于应用程序当前正在运行的屏幕大小)
这可以正常工作,但我需要匹配'真实空间'坐标。
显然我可以这样做:
Sprite1-Real-Co-ordinates = Sprite2-Real-Co-ordinates
这意味着它们将是相同的,但我要从中减去什么值才能让它完美地"位于"其他精灵的顶部?我如何从我所拥有的精灵中获得这种缺失的价值?因此,为了进行总结,我需要这样的内容:
Sprite1-Real-Co-ordinates = (Sprite2-Real-Co-ordinates - something representing the sprites height)
谢谢!: -)
答案是,我简单地将精灵的缩放高度除以当前屏幕高度并使用该值-似乎适用于我测试的3种分辨率