cocos2d吧 关注:2,598贴子:5,365
  • 3回复贴,共1

cocos2d-x代码求教

只看楼主收藏回复

#include "HelloWorldScene.h"
USING_NS_CC;
CCScene* HelloWorld::scene()
{
CCScene *scene = CCScene::create();
HelloWorld *layer = HelloWorld::create();
scene->addChild(layer);
return scene;
}
bool HelloWorld::init()
{
if ( !CCLayerColor::initWithColor(ccc4(255,255,255,255)) )
{
return false;
}
bool HelloWorld::init()
{
CCSize screenSize = CCDirector::sharedDirector()->getVisibleSize();
CCSprite* player = CCSprite::create("Player.png");
player->setPosition(ccp(0+20,screenSize.height/2));
this->addChild(player);
this->schedule(schedule_selector(HelloWorld::gameLogic),2);//这句会导致崩溃。
return true;
}
void HelloWorld::gameLogic(float dt)
{
this->createTarget();
}
void HelloWorld::createTarget()
{
CCSize screenSize = CCDirector::sharedDirector()->getVisibleSize();
CCSprite* mytarget = CCSprite::create("Target.png");
int y = rand()%(int)(screenSize.height);
mytarget->setPosition(ccp(screenSize.width-20,40));
this->addChild(mytarget);
CCMoveTo* move = CCMoveTo::create(2,ccp(0,40));
CCCallFuncN* disappear = CCCallFuncN::create(this,callfuncN_selector(HelloWorld::myDefine));
CCSequence* actions = CCSequence::create(move,disappear,NULL);
target->runAction(actions);
}
代码调试通过,但是运行会出错
test1.exe 中的 0x0fc9e122 (libcocos2d.dll) 处最可能的异常: 0xC0000005: 读取位置 0xcdcdce99 时发生访问冲突
test1.exe 中的 0x0fc9e122 (libcocos2d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0xcdcdce99 时发生访问冲突
程序“[19764] test1.exe: 本机”已退出,返回值为 -1073741819 (0xc0000005)。


1楼2014-04-10 00:20回复
    你这个不可能不报错啊~~~~大括号都不匹配~~~~
    (1)init()写两次?
    (2)随机y值没使用(提醒下)
    (3)用CCSequence组合动作,前面的分解动作创建用CCFiniteTimeAction,我不知道你为什么不会报错,我这边(xcode5)这样肯定过不了。


    2楼2014-04-10 09:42
    回复
      括号


      来自iPhone客户端3楼2014-05-02 09:10
      回复
        访问空对象


        来自手机贴吧4楼2014-06-03 18:07
        回复