2011-03-03 35 views
0

我正在编写“开始iPhone游戏开发”第4章中的“Asteroids”应用程序。本章的地图精灵部分让精灵在屏幕上来回运行(当它涉及到边缘时,它会改变方向)。在模拟器上,我的Sprite按预期移动,但在设备(iPhone 4)上它只能在屏幕右下方来回移动。这是否与使用像素而不是点指向屏幕位置有关?这个程序使用了很多CG ...方法。iPhone4 CG绘图比例与模拟器看起来不一样

做一些CG绘图方法引用像素而不是点的屏幕位置?这可能解释发生了什么。但是我使用CG方法的其他项目在设备上的表现与它们在模拟器上的表现相同。我一直假设屏幕测量总是以点为单位的。

任何其他想法可以解释为什么设备屏幕的四分之一与模拟器上的整个屏幕相同?

回答

1

我有同样的问题。我一直在玩这个,发现了一些可能有用的东西。在sprite.m文件,更改此:

t = CGAffineTransformTranslate(t,y+160,240-x); 

这样:

t = CGAffineTransformTranslate(t,y+320,480-x) 

t = CGAffineTransformTranslate(t,y+0,0-x); 

它似乎工作不错,但所有的精灵都很小,所以你需要调整尺度。

相关问题