【发布时间】:2015-02-09 17:19:34
【问题描述】:
我第一次尝试使用 addImageAsync,但我无法使语法正常工作。我正在使用 Cocos2dx 3.3 final 和 Xcode 6.1.1。 我的代码如下:
(GFXManager.h)
#include "cocos2d.h"
class GFXManager
{
...
void loadStuff();
void textureLoaded(Ref* pObj);
}
(GFXManager.cpp)
...
void GFXManager::loadStuff()
{
std::string path = "whatever.png";
Director::getInstance()->getTextureCache()->addImageAsync(path, callfuncO_selector(GFXManager::textureLoaded));
}
void GFXManager::textureLoaded(Ref* pObj)
{
...
}
以上内容基于 Cocos2dx 的“Texture2dTest”示例。 但是在 addImageAsync 指令的行中,Xcode 一直这样说:
Static_cast 从 'void (GFXManager::*)(cocos2d::Ref * )' 到 'cocos2d::SEL_CallFuncO' (又名 'void (cocos2d::Ref::*)(cocos2d::Ref * )') 是不允许的
我尝试将“GFXManager”设为从“Layer”派生的类(如在 Texture2dTest 中),并使用“CCObject”代替“Ref”(如在 Texture2dTest 中......但“CCObject”已被弃用,现在它是称为'Ref'),没有运气。
但是我在网上找到的每个关于使用 addImageAsync 的示例都使用该语法调用选择器。
那我做错了什么?
【问题讨论】: