Example #1
0
ControlLayer *ControlLayer::create(StageScene *scene)
{
    ControlLayer *pRet = new ControlLayer();
    if (pRet->initWithScene(scene))
    {
        pRet->autorelease();
        return pRet;
    }
    CC_SAFE_DELETE(pRet);
    return NULL;
}
Example #2
0
ControlLayer* ControlLayer::createControlLayer()
{
	ControlLayer* layer = new ControlLayer();
	if(layer)
	{
		layer->init();
		layer->autorelease();
		return layer;
	}
	CC_SAFE_DELETE(layer);
	return NULL;
}
Example #3
0
bool GameScene::init(){
	if (!Scene::initWithPhysics())
	{
		return false;
	}
	
	SimpleAudioEngine::getInstance()->rewindBackgroundMusic();
	

	//英雄层
	HeroLayer *herolayer = HeroLayer::create();
	herolayer->setName("herolayer");
	this->addChild(herolayer,3);

	//显示边框,注释了就不显示了
	//this->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
	//负数为添加向下的加速度
	this->getPhysicsWorld()->setGravity(Vec2(0,-1100));



	//可视区域大小
	Size visSize = Director::getInstance()->getVisibleSize();

	//背景图片
	Sprite *bg = Sprite::create("bg19a.jpg");
	bg->setScale(2);
	bg->setPosition(Vec2(visSize.width/2,visSize.height/2));
	this->addChild(bg);



	//创建Edge
	Edge *edge = Edge::create();
	//设置边界为整个可是区域
	edge->setPosition(visSize.width/2,visSize.height/2);
	//设置可以参与碰撞
	//edge->getPhysicsBody()->setContactTestBitmask(1);
	//添加到 层上面
	this->addChild(edge);

	//控制层
	ControlLayer *controller = ControlLayer::create();
	controller->setName("controller");
	this->addChild(controller,9);

	//添加 敌人层
	auto enemyLayer = EnemyLayer::create();
	enemyLayer->setName("enemylayer");
	this->addChild(enemyLayer,3);

	//地图
	MapLayer *maplayer = MapLayer::create();
	maplayer->setName("maplayer");
	this->addChild(maplayer,0);


	//逻辑层
	LogicLayer *logic = LogicLayer::create();
	this->addChild(logic);

	//添加动画层
	AnimateLayer * animatelayer = AnimateLayer::create();
	this->addChild(animatelayer);

	//怪物AI层
	auto enemyAILayer = EnemyAILayer::create();
	this->addChild(enemyAILayer);


	//创建一个底面
	auto background = Sprite::create();//就是一个精灵
	background->setTag(2001);
	background->setPhysicsBody(PhysicsBody::createBox(Size(visSize.width,74)));
	background->setTextureRect(Rect(0,0,visSize.width,74));//设置纹理的 宽 高
	background->getPhysicsBody()->setCategoryBitmask(16);
	background->getPhysicsBody()->setCollisionBitmask(31);
	background->getPhysicsBody()->setContactTestBitmask(0);
	background->setPosition(visSize.width/2,5);//设置地板的 位置 
	background->getPhysicsBody()->setDynamic(false);
	background->setOpacity(0);//设置透明度为0
	this->addChild(background);


	//创建积分层
	ScoreLayer *scoreLayer = ScoreLayer::create();
	scoreLayer->setName("scoreLayer");
	this->addChild(scoreLayer,9);

	SkillLayer *skill = SkillLayer::create();
	skill->setName("skilllayer");
	this->addChild(skill,9);

	return true;
}