bool HelloWorld::init() { if (!Layer::init()) { return false; } winSize = Director::getInstance()->getWinSize(); srand((int)time(NULL)); listener = EventListenerTouchOneByOne::create(); listener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this); initBG(); initTitle(); initGameData(); initPlayer(); // scoreboard(enemycount); setMissileInterface(); initGameover(); __String *tempScore = __String::createWithFormat("%i", score); scorelabel = LabelTTF::create(tempScore->getCString(), "Perfect Dark Zone.ttf", 40); scorelabel->setPosition(Vec2(150, 680)); this->addChild(scorelabel, 150); this->scheduleUpdate(); return true; }
bool GameRankLayer::init() { if(!Layer::init()) { return false; } initBG(); initTabs(); initBtnBack(); return true; }
bool NotificationBar::init() { if (!Layer::init()) { return false; } setContentSize(CCSizeMake(getContentSize().width,115)); initBG(); initNotificationMsg(); initBtnClose(); return true; }
bool TitleScene::init() { if (!Layer::init()) { return false; } initBG(); //background //initBGM(); initMenu(); //menu return true; }
bool GameScene1::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); initBG(); return true; }
bool GameScene::init() { if (!Layer::init()) { return false; } initGameData(); initBG(); initTopMenuLabel(); initCard(); return true; }
int main(int argc, char **argv) { pvr_init_defaults(); initTXT(TEXT_ENC); initBG("/rd/bg2.png"); if (initHDD()) dbglog(DBG_DEBUG, "* Failed to Initialize HDD!\n"); if (initFS("/hd")) dbglog(DBG_DEBUG, "* Failed to Initialize EXT2 FS!\n"); while (1) { update(); gfx(); } return 0; }
bool RoomScene0203::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); UserDefault::getInstance()->setIntegerForKey("LASTPLAYED", 203); UserDefault::getInstance()->flush(); initBG(); initObj1();//복도로 나가기 initObj2();//왼쪽 관물대-전선. initObj3();//총기-단어칩 initExit(); return true; }
bool RoomScene0401::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); UserDefault::getInstance()->setIntegerForKey("LASTPLAYED", 401); UserDefault::getInstance()->flush(); initBG(); initObj1();//복도로 나가기 initObj2();//미니게임 initObj3();//칩 획득 initObj4();//전선 획득. initExit(); return true; }
bool TollgateScene::init(){ if (!Layer::init()){ return false; } m_iScore = 0; Size visibleSize = Director::getInstance()->getVisibleSize(); Sprite* titleSprite = Sprite::create("title.png"); titleSprite->setPosition(Point(visibleSize.width / 2, visibleSize.height - 50)); this->addChild(titleSprite, 2); m_player = Player::create(); m_player->bindSprite(Sprite::create("sprite.png")); m_player->setPosition(Point(200, visibleSize.height / 4)); this->addChild(m_player, 3); initBG(); loadUI(); MonsterManager* monsterMgr = MonsterManager::create(); this->addChild(monsterMgr, 4); monsterMgr->bindPlayer(m_player); this->scheduleUpdate(); return true; }
bool PlayLayer::init() { if (!Layer::init()) { return false; } // 创建游戏背景 initBG(); //加载UI loadUI(); // 初始化寿司精灵表单 SpriteFrameCache::getInstance()->addSpriteFramesWithFile("sushi.plist"); spriteSheet = SpriteBatchNode::create("sushi.pvr.ccz"); addChild(spriteSheet); // 初始化矩阵的宽和高,即:寿司的长宽个数。MATRIX_WIDTH、MATRIX_HEIGHT通过宏定义 m_width = MATRIX_WIDTH; m_height = MATRIX_HEIGHT; // 初始化寿司矩阵左下角的点 Size visibleSize = Director::getInstance()->getVisibleSize(); m_matrixLeftBottomX = (visibleSize.width - SushiSprite::getContentWidth() * m_width - (m_width - 1) * SUSHI_GAP) / 2; m_matrixLeftBottomY = (visibleSize.height - SushiSprite::getContentWidth() * m_height - (m_height - 1) * SUSHI_GAP) / 2; // 初始化数组 int arraySize = sizeof(SushiSprite *) * m_width * m_height;//数组尺寸大小 //为 m_matrix 分配内存,这里 m_matrix 是指向指针类型的指针,其定义为:SushiSprite **m_matrix。所以可以理解为 m_matrix 是一个指针数组 m_matrix = (SushiSprite **)malloc(arraySize); memset((void*)m_matrix, 0, arraySize);//初始化数组 m_matrix /* memset 补充 void *memset(void *s, int ch, size_t n); 函数解释:s 指向的某一块内存,将 s 中前 n 个字节 (typedef unsigned int size_t )用 ch 指定的ASCII值 替换并返回 s 。 memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。 */ //初始化寿司矩阵 initMatrix(); //调用定时器 scheduleUpdate(); this->schedule(schedule_selector(PlayLayer::timeUpdate), 1.0f); //创建并绑定触摸机制 // 1. 创建一个事件监听器,Onebyone 为单点触摸 auto touchListener = EventListenerTouchOneByOne::create(); // 2. 绑定触摸事件 touchListener->onTouchBegan = CC_CALLBACK_2(PlayLayer::onTouchBegan, this); // 触摸开始时触发 touchListener->onTouchMoved = CC_CALLBACK_2(PlayLayer::onTouchMoved, this); // 触摸移动时触发 // 3. 添加监听器 _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);// addEventListenerWithSceneGraphPriority(EventListener *listener,Node *node); 事件监听器优先级为 0 //而 _eventDispatcher->addEventListenerWithFixedPriority(EventListenr *listener,int fixedPriority)的优先级由我们设置,但不能为 0 /* eventDispatcher事件分发器, 1. eventDispatcher 是 Node 的属性, 2. 通过它我们可以统一管理当前节点(如:场景、层、精灵等)的所有事件分发情况。 3. 但是它本身是一个单例模式值的引用,在 Node 构造函数中,通过 “Director::getInstance()->getEventDispatcher();” 获取,有了这个属性,我们能更为方便的调用。 */ return true; }