// Start of user code methods
void LoadingScene::render()
{
    VBOScene::render();
    if(thread == NULL)
    {
        thread = new std::thread (initWorld);
        mutex->lock();
    }
    if(mutex->try_lock())
    {
        GameScene* gameScene = new GameScene(Engine::getInstance()->getPlayer());
        gameScene->init();
        
        Engine* engine = Engine::getInstance();
        
        
        gameScene->getDoubleBuffer()->getVertexBuffer()->bind();
        gameScene->getDoubleBuffer()->getIndiceBuffer()->bind();
        
        engine->setScene(gameScene);
        engine->getPlayer()->setFalling(true);
        
        glfwSetInputMode(engine->getWindow(), GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
        
        engine->refresh();

        gameScene->updateIndices();
        
        mutex->unlock();
    }
}
示例#2
0
文件: GameScene.cpp 项目: 06wj/shoot
CCScene* GameScene::scene()
{
	CCScene *scene = CCScene::create();

	GameScene *layer = new GameScene();
	layer->init();

	scene->addChild(layer);
	return scene;
}
GameScene* GameScene::create(const int gameType)
{
    GameScene* result = new GameScene();
    if (result->init())
    {
        GameLayer* layer = new GameLayer(gameType);
        layer->autorelease();
        result->addChild(layer);
        return result;
    }
    delete result;
    return NULL;
}
示例#4
0
GameScene* GameScene::create(int stage)
{
	GameScene *pRet = new GameScene();
    if (pRet && pRet->init(stage))
    {
        pRet->autorelease();
        return pRet;
    }
    else
    {
        CC_SAFE_DELETE(pRet);
        return NULL;
    }
}
示例#5
0
	GameScene* GameScene::create(SongInfo* song)
	{
		GameScene* pRet = new GameScene(song);
		if(pRet && pRet->init())
		{
			pRet->autorelease();
			return pRet;
		}
		else
		{
			delete pRet;
			return NULL;
		}
	}
示例#6
0
GameScene* GameScene::create(bool _clickRed){
	GameScene* game = new GameScene();
	if (game && game->init(_clickRed))
	{
		game->autorelease();
		return game;
	}
	else
	{
		delete game;
		game = NULL;
		return NULL;
	}
}
示例#7
0
GameScene* GameScene::create()
{
    GameScene* node = new GameScene();
    if( node && node->init() )
    {
        node->autorelease();
        return node;
    }
    else
    {
        delete node;
        return nullptr;
    }
}
示例#8
0
CCScene* GameScene::scene()
{
    CCScene* pScene = CCScene::create();
    GameScene* uiLayer = new GameScene();
    if (uiLayer && uiLayer->init())
    {
        uiLayer->autorelease();
        pScene->addChild(uiLayer);
    }
    else
    {
        CC_SAFE_DELETE(uiLayer);
    }
    return pScene;
}
示例#9
0
GameScene* GameScene::create(int roomNum)
{
	GameScene* pRet = new(std::nothrow) GameScene();
	if (pRet && pRet->init(roomNum))
	{
		pRet->autorelease();
		return pRet;
	}
	else
	{
		delete pRet;
		pRet = nullptr;
		return nullptr;
	}
}
void LoadingScene::render()
{
    VBOScene::render();
    if(thread == NULL)
    {
        thread = new std::thread (initWorld);
        mutex->lock();
    }
    if(mutex->try_lock())
    {
        GameScene* gameScene = new GameScene(Engine::getInstance()->getWindow(), Engine::getInstance()->getPlayer());
        gameScene->init();
        
        Engine::getInstance()->getProcessor()->bufferize(gameScene, Engine::getInstance()->getWorld());
        
        gameScene->bindBuffer();
        Engine::getInstance()->setScene(gameScene);
        Engine::getInstance()->getPlayer()->setFalling(true);
        mutex->unlock();
    }
}