存储屏幕尺寸以便在Spritekit游戏中重用的最佳实践

时间:2014-09-16 06:41:45

标签: ios sprite-kit screen-size

我通过以下方式读出当前设备的屏幕尺寸:

[UIScreen mainScreen].bounds.size.height;
[UIScreen mainScreen].bounds.size.width;

我经常在游戏的不同类别中需要这个值,所以我想避免一次又一次地计算这些值。在游戏中存储和重用这些值的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

你可以将它们存储在AppDelegate(.h)中,然后在任何需要的地方调用它们。

   @interface AppDelegate :UIResponder <UIApplicationDelegate> {
    ...
   }
   @property (nonatomic, assign) int MYSCREENHEIGHT;
   @property (nonatomic, assign) int MYSCREENWIDHT;

在AppDelegate(.m)中你应该合成它们,然后:

    MYSCREENHEIGHT = [UIScreen mainScreen].bounds.size.height;
    MYSCREENWIDHT = [UIScreen mainScreen].bounds.size.width;      

在其他地方只需打电话给他们:

    AppDelegate *appDelGlobal = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    int myScreenHeight = appDelGlobal.MYSCREENHEIGHT;
    int myScreenwidth = appDelGlobal.MYSCREENWIDHT;

您也可以将它们存储在NSUserDefaults中,但这不适合您。