学习菜单过程中的疑问和解决

http://www.cnblogs.com/andyque/archive/2011/07/15/2107758.html

http://www.iphonegametutorials.com/2010/09/07/cocos2d-menu-tutorial/#comment-32512





以上博客是介绍cocos2d里菜单的使用第一篇,我照着跑了一遍,发现自己编译后菜单项无法选择。


对每个方法一个个都追溯回去看,中间语法知识不足又上apple的library查了一下selector和block的语法,最后得出结论:



在MenuLayer.m里

1 - (void)onNewGame:(id)sender{
2 [SceneManager goMenu];
3 }
4 
5 - (void)onCredits:(id)sender{
6 [SceneManager goMenu];

 


应该改成

1 - (void)onNewGame:(id)sender{
2 [SceneManager goPlay];
3 }
4 
5 - (void)onCredits:(id)sender{
6 [SceneManager goCredits];
7 
8 }


这样再编译运行就没问题了。

但以上两篇博客看的人不少,为什么就没有人发现过这个问题?莫非是我哪里写的不对其实是乱改的?

PS 还有问题没搞懂:menu创建CCMenuItemFont时,响应单击action是怎么实现的?我在往上追溯各个方法的时候

一路查到宏定义NASssert 就看不懂了。
在CCMenuItem.m里 InitWithString: target: selector:这个方法初始化的时候,那个performSelector: 这里是不是就调用了goPlay、goCredits? 

在子龙山人建议下对于涉及底层的东西,暂且不刨根问底,先用再说。

 

 



今天又仔细研究了一下,发现果然是我搞错情况了。菜单教程第二篇里,将goMenu调用修改成了goPlay、goCredits。虽然是自己搞的小失误,但是这是自己第一次跳出一步步的教程自己深究问题,获益还是不少的。

转载于:https://www.cnblogs.com/ArtSun/archive/2012/06/12/2546204.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值