指向成员的指针具有不同的表示形式;无法在它们之间强制转换cocos2d-x
x和新的编程,我正在做一个反向,但在某种程度上它给我一个错误。 有人能帮我吗指向成员的指针具有不同的表示形式;无法在它们之间强制转换cocos2d-x,cocos2d-x,Cocos2d X,x和新的编程,我正在做一个反向,但在某种程度上它给我一个错误。 有人能帮我吗 CCSprite* bg = CCSprite::create("Images/Reversi.png"); addChild(bg, 1); bg->setAnchorPoint(CCPointZero); _midArea = CCLayerColor::create(ccc4(255, 0, 0, 0), 600, 600); addChild(_midArea, 2); _midArea->set
CCSprite* bg = CCSprite::create("Images/Reversi.png");
addChild(bg, 1);
bg->setAnchorPoint(CCPointZero);
_midArea = CCLayerColor::create(ccc4(255, 0, 0, 0), 600, 600);
addChild(_midArea, 2);
_midArea->setAnchorPoint(CCPointZero);
_midArea->setPosition(ccp(88, 271));
CCMenu* menu = CCMenu::create();
_midArea->addChild(menu, 10);
menu->setAnchorPoint(ccp(0, 0));
menu->setPosition(ccp(0, 0));
_gameOver = CCMenuItem::create();
_gameOver->setTarget(this, menu_selector(GameLayer::startNewGame));
menu->addChild(_gameOver);
_gameOver->setAnchorPoint(ccp(0.5, 0.5));
_gameOver->setPosition(ccp(300, 300));
_gameOver->setContentSize(getContentSize());
CCSprite* overImg = CCSprite::create("Images/GameOver.png");
_gameOver->addChild(overImg);
CCSize layerSize = getContentSize();
overImg->setPosition(ccp(layerSize.width / 2, layerSize.height / 2));
_gameOver->setVisible(false);
_gameOver->setEnabled(false);
float gridSize = 75;
CCTextureCache* textureCache = CCTextureCache::sharedTextureCache();
_whiteTex = textureCache->addImage("Images/ReversiWhitePiece.png");
_blackTex = textureCache->addImage("Images/ReversiBlackPiece.png");
_whiteTex->retain();
_blackTex->retain();
for (int i = 0; i < NUM_ROW; i++) {
for (int j = 0; j < NUM_COL; j++) {
CCMenuItem* item = CCMenuItem::create();
item->setContentSize(CCSizeMake(gridSize, gridSize));
menu->addChild(item);
item->setTarget(this, menu_selector(GameLayer::onClickGrid));
item->setTag(i * NUM_COL + j);
item->setAnchorPoint(ccp(0, 0));
item->setPosition(ccp(j * gridSize, i * gridSize));
_gridSprites[i][j] = CCSprite::createWithTexture(_whiteTex);
_midArea->addChild(_gridSprites[i][j], 2);
_gridSprites[i][j]->setVisible(false);
_gridSprites[i][j]->setAnchorPoint(item->getAnchorPoint());
_gridSprites[i][j]->setPosition(item->getPosition());
_grids[i][j] = FLAG_NONE;
if ((i == 3 && j == 3) || (i == 4 && j == 4)) {
_grids[i][j] = FLAG_BLACK;
_blackCount++;
_gridSprites[i][j]->setTexture(_blackTex);
_gridSprites[i][j]->setVisible(true);
}
else if ((i == 3 && j == 4) || (i == 4 && j == 3)) {
_grids[i][j] = FLAG_WHITE;
_whiteCount++;
_gridSprites[i][j]->setTexture(_whiteTex);
_gridSprites[i][j]->setVisible(true);
}
}
}
_curFlag = FLAG_BLACK;
_curFlagSprite = CCSprite::createWithTexture(_blackTex);
_midArea->addChild(_curFlagSprite, 1);
_curFlagSprite->setAnchorPoint(ccp(0, 0));
_curFlagSprite->setPosition(ccp(7 * 75, 75 * 8 + 25));
setKeypadEnabled(true);
scheduleUpdate();
printf("GameLayer::init whiteCount %d, blackCount %d\n", _whiteCount,
_blackCount);
return true;
然后也给我这个
1>e:\games\game maker\cocos2d-x-2.2.6\cocos2d-x-2.2.6\projects\reversi2\classes\gamescene.cpp(48): error C2660: 'cocos2d::CCMenuItem::setTarget' : function does not take 1 arguments
对不起,英语不是我的母语,所以希望你们都能理解:我不记得解决方案了,我想它是关于一个类型转换:谢谢南德,你的所有说明都非常非常好:D使用CCNode将其更改为CCObject,getTag已编辑,:D,所有问题都已解决,谢谢:D@Nande在这一点上你错了。CCLayer是CCNode的一个子类。是的,它确实从CCNode继承。
1>e:\games\game maker\cocos2d-x-2.2.6\cocos2d-x-2.2.6\projects\reversi2\classes\gamescene.cpp(48): error C2660: 'cocos2d::CCMenuItem::setTarget' : function does not take 1 arguments