依然在看书学习并练习,不过书上的错误真是。。。
首先是CClayer,之前恰好写过一个继承于CCSprite的类,实现单点触控随手指移动,重写了begin,moved和end函数,然后在onEnter和onEixt设置和取消了代理。书上的例子直接是以给的HelloWorld,不仅重写了三个函数,还重写了registerWithTouchDispatcher函数,我怎么写都给提示错误,大致是ambiguous conversion from class HelloWorld to ccTouchDelegate之类的~~实际则是因为继承了CCLayer函数所以不用改写这个。换成继承于CCSprite后这句话就不报错了。
然后是ios模拟器的多点触控。option键和鼠标,用的不是苹果键盘,则是Alt和鼠标。想做成大小缩放的,总是失败。在begin函数本来是只判断触点多于等于两个的,里面又多加了个判断
if(pTouches->count()==1)
然后两个条件打印不同信息,就发现用不用Alt键,得到的都只是一个触点的信息~尽管模拟器屏幕上给了两个~
只好问度娘,解决方法是在ios目录下的文件需要改一下~AppController这个文件~在
BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
这个函数里面加一句:[__glView setMultipleTouchEnabled:true];
本来还以为是在HelloWorld里面onEnter之类加的,总抱错。。。原来是在这里~~
之后就可以了~~
还有一点要注意就是distance和scale的类型~之前脑抽设置了int,于是整个一个悲剧~~