求大神帮忙解惑

买了本书,上面讲的魔塔例子,上面有句代码是这样的:

CCSprite *heroSprite=CCSprite::spriteWithSpriteFrame(walkAnimation->getFrames()->getObjectAtIndex(0));

但是我自己在VS上这样写,就会提示实参类型和形参类型不兼容。原因是getObjectAtIndex(0)返回的是CCObject是基类指针,而spriteWithSpriteFrame函数需要的形参是CCSpriteFrame是派生类指针。我也不确定在需要派生类指针的地方用基类指针行不行,目前我用了强制转换没错了。奇怪的是,书上没用强制转换,我也有从群里下魔塔源码,里面也没有用强制转换。都没有报错。也不是版本问题,版本只会改变接口名字,但是返回类型没有变。还有我打开下载的源码,把鼠标放到getObjectAtIndex(0)上会显示这个函数返回类型为CCSpriteFrame*,但是右键转到定义后返回类型为CCObject*。这都神马情况啊。求大神解惑啊。有魔塔源码的同学帮忙看看呗。大家共同学习。

1.x太烂 现在的好多了

— Begin quote from ____

huangrui200123 发表于 2013-1-10 09:22 url

你 看的书是不是cocos2d-x 手机游戏开发 徐松林 黄猛写的?

— End quote

是的,这本书怎么了

学习的话,直接从2.0版本开始比较好吧.