我正在编写“开始iPhone游戏开发”第4章中的“小行星”应用程序。本章的地图集精灵部分的精灵在屏幕上来回运行(当它到达边缘时,它会改变方向)。在模拟器上,我的精灵按预期移动,但在设备(iPhone 4)上,它仅在屏幕的右下象限来回运行。这是否与使用像素而不是点来引用屏幕位置有关?这个应用程序使用了很多CG ...方法。
某些CG绘图方法是指像素而非点数的屏幕位置吗?这可能解释了发生了什么。但是我使用CG方法做的其他项目在设备上的行为与在模拟器上的行为相同。我一直认为屏幕测量总是在点上。
任何其他想法可以解释为什么设备上四分之一的屏幕与模拟器上的整个屏幕相同?
答案 0 :(得分:1)
我遇到了同样的问题。我一直在玩这个并找到了可能有用的东西。在sprite.m文件中,更改:
t = CGAffineTransformTranslate(t,y+160,240-x);
到此:
t = CGAffineTransformTranslate(t,y+320,480-x)
t = CGAffineTransformTranslate(t,y+0,0-x);
它似乎工作正常,但所有精灵都很小,所以你需要调整音阶。