用了一天的时间,写了一个俄罗斯方块的手机游戏。
基础游戏框架是用C写的,或者说是在微软的.net环境下写的。然后附加到iPhone(XCode环境)下运行调试。
界面部分则是在XCode里写的。
说起来,.net的C/C++的.cpp或c文件,总是要带个"stdafx.h",否则就编译报错,解决方案是带个stdafx.h,然后在iPhone的工程里额外加个"stdafx.h",不过就不是原来的h文件了,里面就简单的包含了几个.h,比如stdlib.h。
(另:如果.net里指定生成空的静态库,就可以不指定stdafx.h)
一直以为objective c只支持c文件,所以改名为.c文件加到工程里,然后很意外的发现也支持一些c++,比如bool好象在c里是没有的。所以在xcode里编译报错,换成.cpp后就编译通过了。至于class是否支持,就没试了。
不过还没完,既然是c函数,肯定要加个声明了,比如
extern void RunInit(int Rng);
结果很沮丧的发现编译过了,链接时却提示找不到该函数,折腾了好一阵,试着把.cpp文件改名为.m文件,链接通过,正常运行,真是抓狂。
现在回到XCode。先抱怨下键盘操作。
标准键盘里是有home,end,delete的,这三个我用得相当多。原先只是照着书输下示例代码,也还可以忍受。现在频繁的改代码,真是有点吃不消。尝试了一下,发现mac环境有自己的解决方案。标准键盘的"