这个想法是用宏设置几个固定的 CGPoint 值,并在代码中灵活地读取它们(随机或使用提供的整数值)
我有一个定义几个 CGPoints 值的头文件,如下所示:
#define kSpawnPoint1 {550,20}
#define kSpawnPoint2 {550,80}
#define kSpawnPoint3 {200,175}
我在代码中生成一个介于 1 到 3 之间的随机整数,并计划根据整数值读取宏中的 CGPoint 值。但不知道该怎么做。在学习了有关预处理器的其他教程之后,我编写了如下代码。
#define kSpawnPoint1 {550,20}
#define kSpawnPoint2 {550,80}
#define kSpawnPoint3 {200,175}
#define kSpawnPoint(x) kSpawnPoint##x
在 m 文件中:
int tempInt = 1;
CGPoint tempSpawnPoint = kSpawnPoint(temInt);
但是它不起作用。(警告:未声明的标识符'kSpawnPointspawnPoint')我怎样才能做到这一点?预先定义几个CGPoint是正确的方法吗?我认为我必须使用预处理器来实现这一点,考虑到未来的多屏幕分辨率支持也更容易在宏中实现,而且我的 kSpawnPoints 与不同的屏幕分辨率不同。