void BaseScene::macroDefineInInit(){ #ifndef NOBOX2D1 initPhysics(); // create a polygon body /*b2BodyDef bodydef; bodydef.type = b2_dynamicBody; bodydef.position = b2Vec2(200 / RTM_RATIO, 400 / RTM_RATIO); b2Body* b2 = world->CreateBody(&bodydef); b2PolygonShape polygon; b2Vec2 v[4]; v[0].Set(-1.5, 1.5); v[1].Set(1.5, 1.5); v[2].Set(1.5, -1.5); v[3].Set(-1.5, -1.5); polygon.Set(v, 4); b2->CreateFixture(&polygon, 0.5);*/ #endif #ifndef NOTOUCHONEBYONEEVENT1 // 这段代码好像不写也可以 setTouchEnabled(true); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); #endif #ifndef NOTOUCHALLATONCEEVENT // 这段代码好像不写也可以 setTouchEnabled(true); setTouchMode(Touch::DispatchMode::ALL_AT_ONCE); #endif }
void AllianceRankAttrView::onEnter(){ PopupBaseView::onEnter(); this->setTitleName(_lang("115904")); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); //CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 1, false); }
void AllianceFlagPar::onEnter(){ CCNode::onEnter(); setSwallowsTouches(false); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); //CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, Touch_Popup, false); }
bool Box2DView::initWithEntryID(int entryId) { // setIsAccelerometerEnabled( true ); setTouchEnabled( true ); schedule( schedule_selector(Box2DView::tick) ); m_entry = g_testEntries + entryId; m_test = m_entry->createFcn(); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); // Removes Touch Event Listener EventDispatcher::getInstance()->removeEventListener(_touchListener); // Adds Touch Event Listener auto listener = EventListenerTouch::create(Touch::DispatchMode::ONE_BY_ONE); listener->setSwallowTouches(true); listener->onTouchBegan = CC_CALLBACK_2(Box2DView::onTouchBegan, this); listener->onTouchMoved = CC_CALLBACK_2(Box2DView::onTouchMoved, this); listener->onTouchEnded = CC_CALLBACK_2(Box2DView::onTouchEnded, this); EventDispatcher::getInstance()->addEventListenerWithFixedPriority(listener, -10); _touchListener = listener; return true; }
bool HMessageBox::init(const char* msg, const char* title, int buttons, int style, HMessageDelegate* delegate) { m_pLabelMessage->setString(msg); if (title && strlen(title) > 0) m_pLabelTitle->setString(title); m_pDelegate = delegate; m_showStyle = style; setMessage(CCString::create(msg)); if (HNewbieGuide::isPass(214, 5) && !HNewbieGuide::isPass(214, 6)) { HNewbieGuide* guide = HNewbieGuide::create(214, 6); if (guide) { guide->showIn(this); guide->runAction(HGuideClick::create(6, m_pBtnOk)); guide->hiddenAfterActionWithoutAnima(); } } m_pBtnOk->setVisible(buttons != HMB_CANCEL); m_pBtnCancel->setVisible(buttons != HMB_OK); m_pBtnOk->setTouchPriority(-500); m_pBtnCancel->setTouchPriority(-500); setTouchMode(kCCTouchesOneByOne); setTouchPriority(-200); if (buttons == HMB_OK || buttons == HMB_CANCEL) { m_pBtnOk->setPositionX(240); m_pBtnCancel->setPositionX(240); } return true; }
static int tolua_Cocos2d_Node_setTouchMode(lua_State* tolua_S) { #if COCOS2D_DEBUG >= 1 tolua_Error tolua_err; if ( !tolua_isusertype(tolua_S,1,"cc.Node",0,&tolua_err) || !tolua_isnumber(tolua_S,2,0,&tolua_err) || !tolua_isnoobj(tolua_S,3,&tolua_err) ) goto tolua_lerror; else #endif { Node* self = (Node*) tolua_tousertype(tolua_S,1,0); int mode = ((int) tolua_tonumber(tolua_S,2,0)); #if COCOS2D_DEBUG >= 1 if (!self) tolua_error(tolua_S,"invalid 'self' in function 'setTouchMode'", nullptr); #endif { auto mng = LuaNodeManager::getInstance(); auto lnode = mng->getLuaNodeByNode(self, true); if (!lnode) { return 0; } lnode->setTouchMode(mode); } } return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: tolua_error(tolua_S,"#ferror in function 'setTouchMode'.",&tolua_err); return 0; #endif }
void TouchLayer::onEnter() { CCLayer::onEnter(); CCLOG("Enter"); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); }
void UILayer::onEnter() { setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); CCLayer::onEnter(); }
//////////////////////////////////////////////////////// // // TouchesPerformTest1 // //////////////////////////////////////////////////////// void TouchesPerformTest1::onEnter() { TouchesMainScene::onEnter(); setTouchEnabled(true); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setSwallowsTouches(true); }
bool CCRookieGuide::init() { if(!CCLayer::init()) { return false; } // stencil m_stencil = CCDrawNode::create(); m_stencil->setPosition(CCPointZero); // clipper m_clipper = CCClippingNode::create(); m_clipper->setPosition(CCPointZero); m_clipper->setStencil(m_stencil); m_clipper->setInverted(true); addChild(m_clipper); // add bg m_content = CCLayerColor::create(m_bgColor); m_clipper->addChild(m_content); // enable event, and set top priority setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); setTouchPriority(-MAX_INT); setKeypadEnabled(true); return true; }
bool GameScene::init() { if (!LayerColor::initWithColor(Color4B::WHITE)) { return false; } this->setContentSize(Director::getInstance()->getVisibleSize()); this->setColor(Color3B::WHITE); _size = Director::getInstance()->getVisibleSize(); auto edge = Edge::create(); edge->setPosition(_size.width/2,_size.height/2); addChild(edge); h = Hero::create(); addChild(h); h->setPosition(200,300); h->setScale(0.5, 0.5); schedule(schedule_selector(GameScene::blockUpdate),1.0f); schedule(schedule_selector(GameScene::failUpdate), 1.0f); setTouchEnabled(true); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); return true; }
void GameLoadingLayer::onEnter() { setTouchEnabled(true); //设置父节点为一次响应 setTouchMode(kCCTouchesOneByOne); CCLayer::onEnter(); }
void LotteryAct2ShowView::onEnter() { CCNode::onEnter(); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); //CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false); }
bool GameLoading::init() { if (Layer::init()) { loginUI = NodeGrid::create(); //将UILayer层加入到当前的场景 this->addChild(loginUI); Layout *m_pWidget = dynamic_cast<Layout*>(cocostudio::GUIReader::shareReader()->widgetFromJsonFile("login_1.json")); loginUI->addChild(m_pWidget); startBtn = dynamic_cast<Button*> (Helper::seekWidgetByName(m_pWidget, "btn_start")); startBtn->setPressedActionEnabled(true); startBtn->setBright(true); startBtn->addTouchEventListener(this, SEL_TouchEvent(&GameLoading::startGameTouchListener)); this->schedule(schedule_selector(GameLoading::doing), 0.0f, kRepeatForever, 1); _res = new CommonRes(); _res->load(); _waveAction = WaterWaveAction::create(10000, Size(200, 200)); loginUI->runAction(_waveAction); _lastUpdate = new struct timeval; setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); return true; } return false; }
bool GameStartLayer::init() { CCLayer::init(); CreatePlate(); Stone::_d = winSize.height / 10;; Stone::_offx = Stone::_d; Stone::_offy = Stone::_d / 2; for (int i = 0; i < 32; i++) { _s[i] = Stone::create(); _s[i]->initStone(i); addChild(_s[i]); } setTouchEnabled(true); //! 默认是多点触摸 setTouchMode(kCCTouchesOneByOne); _selectid = -1; _selectedSprite = CCSprite::create("selected.png"); _selectedSprite->setVisible(false); _selectedSprite->setScale(0.6f); _selectedSprite->setZOrder(100); addChild(_selectedSprite); _bRedTurn = true; _steps.clear(); addCtrlPanel(); return true; }
bool Control::init() { if (Layer::init()) { // Initialise instance variables _state=Control::State::NORMAL; setEnabled(true); setSelected(false); setHighlighted(false); // x-studio365 spec setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); /*auto dispatcher = Director::getInstance()->getEventDispatcher(); auto touchListener = EventListenerTouchOneByOne::create(); touchListener->setSwallowTouches(true); touchListener->onTouchBegan = CC_CALLBACK_2(Control::onTouchBegan, this); touchListener->onTouchMoved = CC_CALLBACK_2(Control::onTouchMoved, this); touchListener->onTouchEnded = CC_CALLBACK_2(Control::onTouchEnded, this); touchListener->onTouchCancelled = CC_CALLBACK_2(Control::onTouchCancelled, this); dispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);*/ return true; } else { return false; } }
void SpriteBatchNodeTestPage::loadUI() { setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); auto winSize = CocosWindow::size(); auto origin = CocosWindow::origin(); const std::string pic("Images/grossini_dance_01.png"); size_t num(1000); /*for (size_t i=0; i<num; ++i) { auto dance = CCSprite::create(pic.c_str()); CCPoint pos; pos.x = winSize.width * CCRANDOM_0_1(); pos.y = winSize.height * CCRANDOM_0_1(); dance->setPosition(pos); addChildRaw(dance); }*/ CCSpriteBatchNode *batch = CCSpriteBatchNode::create(pic.c_str()); for (size_t i=0; i<num; ++i) { auto dance = CCSprite::createWithTexture(batch->getTexture()); CCPoint pos; pos.x = winSize.width * CCRANDOM_0_1(); pos.y = winSize.height * CCRANDOM_0_1(); dance->setPosition(pos); batch->addChild(dance); } ADD_CHILD(batch); }
void EquipMeltView::onEnter() { CCNode::onEnter(); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(EquipMeltView::refreashData), EQUIP_MELT_SHOW, NULL); }
bool T08CCSpriteBatchNode::init() { if (!BaseLayer::init()) return false; CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCPoint ptCenter = ccp(winSize.width / 2, winSize.height / 2); /* CCSpriteBatchNode是一个容器,只能包容CCSprite对象,要求这些精灵来自同一个纹理 */ CCSpriteBatchNode* pBatch = CCSpriteBatchNode::create("CloseNormal.png"); addChild(pBatch); pBatch->setTag(10); CCSprite *pSprite = CCSprite::createWithTexture(pBatch->getTexture()); pBatch->addChild(pSprite); pSprite->setPosition(ptCenter); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); return true; }
TDDSubMenu::TDDSubMenu(const Size &size, const Color4B &headerColor, const Color4B &bodyColor, const Color3B &textColor, const std::string font, const int fontSize) : mShow(true) , mHeaderLayer(NULL) , mToggleButton(NULL) , mIsPressed(false) , mMenu(NULL) , mBackButton(NULL) { TDDSubMenu::initWithColor(bodyColor, size.width, size.height); mMaxSize.width = size.width; mMaxSize.height = size.height; // Add the header setupHeader(headerColor); setupMenu(); // Set touch setTouchEnabled(true); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); // ??? }
bool SceneGame::init() { CCLayer::init(); CreatePlate(); addCtrlPanel(); _selectSprite = CCSprite::create("selected.png"); _selectSprite->setVisible(false); _selectSprite->setScale(.6f); addChild(_selectSprite, Z_STONE); Stone::_d = winSize.height/10; Stone::_offx = Stone::_d; Stone::_offy = Stone::_d/2; for (int i = 0; i < 32; i++) { _s[i] = Stone::create(); _s[i]->initStone(i); addChild(_s[i], Z_STONE); } _selectid = -1; _bRedTurn = true; _steps.clear(); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); return true; }
void ToolCreateView::onEnter(){ CCNode::onEnter(); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); //CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, Touch_Default, false); CCDirector::sharedDirector()->getScheduler()->scheduleSelector(schedule_selector(ToolCreateView::onEnterFrame), this, 1.0,kCCRepeatForever, 0.0f, false); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ToolCreateView::updateCrtRet), MATETOOL_CREATE_END, NULL); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ToolCreateView::updateLockCell), "updateLockCell", NULL); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ToolCreateView::setViewByMate), "setViewByMate", NULL); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ToolCreateView::setViewByEquip), "setViewByEquip", NULL); _openNum++; if (_openNum>1 && m_qid == QID_MAX) { } this->getAnimationManager()->setAnimationCompletedCallback(this, callfunc_selector(ToolCreateView::AnimationFadeIn)); this->getAnimationManager()->runAnimationsForSequenceNamed("FadeIn");//FadeIn string key = CCUserDefault::sharedUserDefault()->getStringForKey("firstOpenToolCreateView", ""); if (key == "") { CCUserDefault::sharedUserDefault()->setStringForKey("firstOpenToolCreateView", "3120100"); GuideController::share()->setGuide("3120100"); } }
//------------------------------------------------------------------ // // Screenshot // //------------------------------------------------------------------ void CommonScreenshot::onEnter() { CommonDemo::onEnter(); m_shot = NULL; setOpacity(255); setColor(ccRED); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); // grossini CCSprite* s = CCSprite::create("Images/grossini.png"); s->setPosition(ccp(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 2)); addChild(s); // rotate grossini s->runAction(CCRepeatForever::create(CCRotateBy::create(5, 360))); // hint CCToast* t = CCToast::create(this, CCLabelTTF::create("Touch to capture screen", "Helvetica", 40 / CC_CONTENT_SCALE_FACTOR())); t->setPosition(ccp(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 5)); // enable touch setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); }
void UILayer::onEnter() { setTouchMode(kCCTouchesOneByOne); setTouchEnabled(true); CCLayer::onEnter(); m_pRootWidget->onEnter(); }
//------------------------------------------------------------------ // // CatmullRom Sprite // //------------------------------------------------------------------ void CommonCatmullRomSprite::onEnter() { CommonDemo::onEnter(); CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); m_curve = CCCatmullRomSprite::create("Images/line_pattern.png"); m_curve->setPosition(CCPointZero); m_curve->addControlPoint(ccp(origin.x + visibleSize.width / 20, origin.y + visibleSize.height / 10)); m_curve->addControlPoint(ccp(origin.x + visibleSize.width / 5, origin.y + visibleSize.height / 2)); addChild(m_curve); // you can hide some segment // m_curve->setSegmentVisible(2, false); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); // hint CCToast* t = CCToast::create(this, CCLabelTTF::create("Touch to add point", "Helvetica", 40 / CC_CONTENT_SCALE_FACTOR())); t->setPosition(ccp(origin.x + visibleSize.width / 2, origin.y + visibleSize.height / 5)); }
bool LayerSetup::init() { CCLayer::init(); CCLayerColor* layerTrans = CCLayerColor::create(ccc4(192, 192, 192, 128)); addChild(layerTrans); CCLayerColor* layerBG = CCLayerColor::create(ccc4(192, 192, 192, 255), winSize.width / 2, winSize.height / 2); addChild(layerBG); layerBG->setPosition(ccp(winSize.width / 4, winSize.height / 4)); // 创建两个slider MyCCControlSlider* volumeBG = MyCCControlSlider::create("sliderTrack.png", "sliderProgress.png", "sliderThumb.png"); MyCCControlSlider* volumeEffect = MyCCControlSlider::create("sliderTrack.png", "sliderProgress.png", "sliderThumb.png"); addChild(volumeBG); addChild(volumeEffect); _volumeBG = volumeBG; _volumeEffect = volumeEffect; volumeBG->setMinimumValue(0.0f); volumeBG->setMaximumValue(1.0f); volumeEffect->setMinimumValue(0.0f); volumeEffect->setMaximumValue(1.0f); volumeBG->setPosition(ccp(winSize.width / 2, winSize.height / 2)); volumeEffect->setPosition(ccp(winSize.width / 2, winSize.height / 2)); Common::moveNodeY(volumeBG, 40); // Common::moveNodeY(volumeEffect, -30); volumeBG->addTargetWithActionForControlEvents(this, cccontrol_selector(LayerSetup::ChangeBGVolume), CCControlEventValueChanged); volumeEffect->addTargetWithActionForControlEvents(this, cccontrol_selector(LayerSetup::ChangeEffectVolume), CCControlEventValueChanged); setZOrder(Common::ZO_LAYER_SETUP); // 读配置文件 float fVolumeBG = CCUserDefault::sharedUserDefault()->getFloatForKey("BGVolume", 1.0f); float fVolumeEffect = CCUserDefault::sharedUserDefault()->getFloatForKey("EffectVolume", 1.0f); volumeBG->setValue(fVolumeBG); volumeEffect->setValue(fVolumeEffect); // 创建一个确定按钮 CCMenuItemFont* item = CCMenuItemFont::create("Close", this, menu_selector(LayerSetup::Close)); CCMenu* menu = CCMenu::createWithItem(item); addChild(menu); Common::moveNode(item, ccp(80, -60)); _menu = menu; // 暂停 // CCDirector::sharedDirector()->pause(); setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); setTouchPriority(-130); return true; }
// on "init" you need to initialize your instance bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize(); CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin(); _winsize=CCDirector::sharedDirector()->getWinSize(); // Create batch node CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile ("Sprites.plist"); _batchNode = CCSpriteBatchNode::create ("Sprites.pvr.ccz"); addChild ( _batchNode); /* bg = Component::Create (Entity_); bg->AddC (CocosComponent::Create (CCSprite::create ("background.png"))); bg->AddC (MoveComponent::Create ({ 100, 100 }, 1, 300, 300, 100,1)); DD (bg->GetID(), Telegram_SET_POS, { visibleSize.width / 2, visibleSize.height / 2 });*/ /* CCPoint vPos, double dMass, double dMaxSpeed, double dMaxForce, double dMaxTurnRate */ srand (time (NULL)); for (int i=0; i<20; ++i) { auto bad = Component::Create (Entity_); bad->AddC (RadarComponent::Create (50)); bad->AddC (MoveComponent::Create ( { 100, 100 }, 1,100, 1000, 100,10)); bad->AddC (CocosComponent::Create (CCSprite::createWithSpriteFrameName ("munch1.png"))); bad->AddC (HPComponent::Create (100)); bad->AddC (WeaponComponent::Create()); bads.push_back (bad); DD (bad->GetID(), Telegram_SET_POS, { double (500 + rand() % 30), double (500 + rand() % 30) }); } for (auto a:bads) { DD (a->GetID(), Telegram_SEARCH, {}); } setTouchEnabled (true); setTouchMode (kCCTouchesOneByOne); scheduleUpdate(); return true; }
void ChangeAllianceFlagView::onEnter(){ PopupBaseView::onEnter(); setTouchMode(Touch::DispatchMode::ONE_BY_ONE); setTouchEnabled(true); // CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, -1, false); CCSafeNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ChangeAllianceFlagView::onPicClick), "on_pic_click", NULL); this->refreshView(); }
bool TouchGrabber::init() { if (CCLayer::init() == false) return false; // setTouchEnabled(true); setTouchMode(kCCTouchesOneByOne); setTouchPriority(INT_MIN); return true; }
void HFViewport::onEnter() { // setSwallowsTouches(true); setTouchMode(Touch::DispatchMode::ALL_AT_ONCE); setTouchEnabled(true); CCNode::onEnter(); //CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0); }