//------------------------------------------------------------------ // // ScrollBar // //------------------------------------------------------------------ void CommonScrollBar::onEnter() { CommonDemo::onEnter(); TouchGroup* tg = TouchGroup::create(); addChild(tg); // load scrollview layout Layout* _layout = static_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("cocosgui/UIEditorTest/UIScrollView_Editor/UIScrollView_Vertical_Editor/ui_scrollview_editor_1.json")); tg->addWidget(_layout); CCSize screenSize = CCDirector::sharedDirector()->getWinSize(); CCSize rootSize = _layout->getSize(); tg->setPosition(CCPoint((screenSize.width - rootSize.width) / 2, (screenSize.height - rootSize.height) / 2)); // hide title Label* _sceneTitle = static_cast<Label*>(UIHelper::seekWidgetByName(_layout, "UItest")); _sceneTitle->setVisible(false); // hide back Label* back_label = static_cast<Label*>(UIHelper::seekWidgetByName(_layout, "back")); back_label->setVisible(false); // scroll view ScrollView* sv = (ScrollView*)UIHelper::seekWidgetByName(_layout, "ScrollView_1137"); // vertical bar CCScale9Sprite* track = CCScale9Sprite::create("Images/track.png"); CCSprite* thumb = CCSprite::create("Images/thumb.png"); CCScrollBar* vsb = CCScrollBar::create(track, thumb); vsb->setAutoFade(true); vsb->attachToUIScrollView(sv, cci(5, 5, 5, 5)); }
void CustomParticleWidgetLayer::onEnter() { CCLayer::onEnter(); GUIReader* guiReader = GUIReader::shareReader(); guiReader->registerTypeAndCallBack("CustomParticleWidget", &CustomParticleWidget::createInstance, CustomParticleWidgetReader::getInstance(), parseselector(CustomParticleWidgetReader::setProperties)); TouchGroup* touchGroup = TouchGroup::create(); addChild(touchGroup); CustomParticleWidget* custom = CustomParticleWidget::create(); custom->setParticlePlist("Particles/BoilingFoam.plist"); touchGroup->addWidget(custom); }
void LoginScene::onEnter(){ CCLayer::onEnter(); TouchGroup* ui = TouchGroup::create(); loginWidget = GUIReader::shareReader()->widgetFromJsonFile("Scene/LoginSence/LoginSence.json"); loginWidget->setSizeType(SIZE_ABSOLUTE); loginWidget->setSize(CCDirector::sharedDirector()->getVisibleSize()); ui->addWidget(loginWidget); ui->setAnchorPoint(CCPointZero); this->addChild(ui); //登陆区域 UIPanel* login_panel = (UIPanel*)UIHelper::seekWidgetByName(loginWidget, "bodyPanel"); login_panel->setCloseIME(true); //loginWidget->getChildByTag(4); //UIPanel* bg_panel = (UIPanel*)loginWidget->getChildByTag(63); UIImageView *upImg = (UIImageView*)UIHelper::seekWidgetByName(loginWidget, "upImg"); CCSize fs = CCDirector::sharedDirector()->getVisibleSize(); //float scale = fs.width/upImg->getSize().width; float scale = std::max(fs.width/upImg->getSize().width, fs.height/upImg->getSize().height); //if(scale > 1){ upImg->setScale(scale); //} UIImageView *logo = (UIImageView*)UIHelper::seekWidgetByName(loginWidget, "logoImage"); float sca = std::min(fs.width/640, fs.height/960); logo->setScale(sca); ImageView *userIcon = (ImageView *)UIHelper::seekWidgetByName(loginWidget, "userIcon"); userIcon->setScale(sca); ImageView *userIconBg = (ImageView *)UIHelper::seekWidgetByName(loginWidget, "userIconBg"); userIconBg->setScale(sca); ImageView *userLi = (ImageView*)UIHelper::seekWidgetByName(loginWidget, "usernameLiImage"); TextField *usernameInput = (TextField*)UIHelper::seekWidgetByName(loginWidget, "username"); //userLi->setScale(sca); usernameInput->setScale(sca); ImageView *passwordLi = (ImageView*)UIHelper::seekWidgetByName(loginWidget, "passwordLiImage"); //passwordLi->setScale(sca); TextField *passwordInput = (TextField*)UIHelper::seekWidgetByName(loginWidget, "password"); passwordInput->setScale(sca); UIButton* loginBtn = (UIButton*)UIHelper::seekWidgetByName(loginWidget, "loginButton"); //login_panel->getChildByTag(8); loginBtn->addTouchEventListener(this,toucheventselector(LoginScene::loginPress)); //float ms = std::min(fs.width/640, fs.height/960); //if (ms < 1) // { //logo->setScale(ms); loginBtn->setScale(sca); //} Button *regB = (Button*)UIHelper::seekWidgetByName(loginWidget, "regButton"); regB->setScale(sca); UIButton* topBtn = (UIButton*)UIHelper::seekWidgetByName(loginWidget, "tabLoginButton"); topBtn->setScale(sca); CCLog("init UIPanel"); //用户名 /* m_userName = CCEditBox::create(CCSize(320,50), CCScale9Sprite::createWithSpriteFrameName("button.png")); m_userName->setFontSize(23); m_userName->setAnchorPoint(CCPointZero); m_userName->setPlaceHolder("请输入用户名"); m_userName->setPlaceholderFontColor(ccc3(248,252,255)); m_userName->setInputMode(kEditBoxInputModeAny); m_userName->setReturnType(kKeyboardReturnTypeDone); m_userName->setPosition(ccp(153,378)); m_userName->setDelegate(this); m_userName->setTouchPriority(0); */ username = (UITextField*)UIHelper::seekWidgetByName(loginWidget, "username"); password = (UITextField*)UIHelper::seekWidgetByName(loginWidget, "password"); midView = (UIPanel*)UIHelper::seekWidgetByName(loginWidget, "midView"); CCLog("init midView"); //密码 UIButton* registerBtn = (UIButton*)UIHelper::seekWidgetByName(loginWidget, "regButton"); //login_panel->getChildByTag(44); registerBtn->addTouchEventListener(this, toucheventselector(LoginScene::registerPress)); //切换账号 UIButton* tabLoginBtn = (UIButton*)UIHelper::seekWidgetByName(loginWidget, "tabLoginButton");//login_panel->getChildByTag(87); tabLoginBtn->addTouchEventListener(this, toucheventselector(LoginScene::tabloginPress)); //login_panel->addNode(m_userName); //login_panel->addNode(m_passWord); CCLog("init button"); //更新显示 refurbishScene(); }
bool OptionLayer::init(){ this->setTouchEnabled(true);//开启触摸 //添加摇杆 CCTexture2D* ControlWheelTexture = CCTextureCache::sharedTextureCache()->addImage("MyImages/ControlWheel.png"); DirectionControlButton* ControlWheelSprite = DirectionControlButton::ObjectWithTexture(ControlWheelTexture);//加载摇杆背景图 ControlWheelSprite->setPosition(ccp(ControlWheelSprite->getContentSize().width/2, ControlWheelSprite->getContentSize().height/2)); this->addChild(ControlWheelSprite,1); //加载摇杆小圈 CCTexture2D *TinyCircleTexture = CCTextureCache::sharedTextureCache()->addImage("MyImages/TinyCircle.png"); CCSprite *TinyCircleSprite = CCSprite::createWithTexture(TinyCircleTexture); TinyCircleSprite->setPosition(ccp(ControlWheelSprite->getContentSize().width/2, ControlWheelSprite->getContentSize().height/2)); this->addChild(TinyCircleSprite,2); ControlWheelSprite->setTinyCircleSprite(TinyCircleSprite); //设置触摸后的小圆圈 this->setDirectionCrtl(ControlWheelSprite); //设置操作层摇杆对象,方便在场景Init中使用 //人物属性UI加载 TouchGroup* ul =TouchGroup::create(); ul->setTag(200); ul->setPosition(-40,450); this->addChild(ul); ul->addWidget(GUIReader::shareReader()->widgetFromJsonFile("RoleProperty/DemoHead_UI.json")); UILoadingBar * redBar = dynamic_cast<UILoadingBar *>(ul->getWidgetByTag(4)); UILoadingBar * blueBar = dynamic_cast<UILoadingBar *>(ul->getWidgetByTag(16)); UIImageView * head = dynamic_cast<UIImageView *>(ul->getWidgetByTag(42)); UITextField * level = dynamic_cast<UITextField *>(ul->getWidgetByTag(26)); this->setRedBar(redBar); this->setBlueBar(blueBar); this->setHead(head); this->setLevel(level); //开始加载操作技能UI TouchGroup* skillUI =TouchGroup::create(); skillUI->setTag(201); skillUI->setPosition(800,10); CCLog("ScreenSize.height = %f", CCDirector::sharedDirector()->getVisibleSize().height); CCLog("ScreenSize.width = %f",ScreenSize.width); this->addChild(skillUI); skillUI->addWidget(GUIReader::shareReader()->widgetFromJsonFile("Skill_UI/Skill_UI.json")); UIImageView * skill_attack = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(9)); //普通攻击 UIImageView * skill_attack_1 = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(6)); //特殊攻击1 UIImageView * skill_attack_2 = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(8)); //特殊攻击2 UIImageView * skill_attack_3 = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(7)); //特殊攻击3 UIImageView * blood_bottle = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(10));//血瓶 UIImageView * magic_bottle = dynamic_cast<UIImageView *>(skillUI->getWidgetByTag(11));//魔瓶 UILabelAtlas * blood_bottle_num = dynamic_cast<UILabelAtlas *>(skillUI->getWidgetByTag(12));//血瓶数量 UILabelAtlas * magic_bottle_num = dynamic_cast<UILabelAtlas *>(skillUI->getWidgetByTag(13));//魔瓶数量 //技能冷却计数器 由于有遮罩的效果,暂时隐藏它 dynamic_cast<UILabelAtlas *>(skillUI->getWidgetByTag(14))->setVisible(false); dynamic_cast<UILabelAtlas *>(skillUI->getWidgetByTag(15))->setVisible(false); dynamic_cast<UILabelAtlas *>(skillUI->getWidgetByTag(17))->setVisible(false); //初始化类成员变量 this->setSkillUI(skillUI); this->setSkill_attack(skill_attack); this->setSkill_attack_1(skill_attack_1); this->setSkill_attack_2(skill_attack_2); this->setSkill_attack_3(skill_attack_3); this->setBlood_bottle(blood_bottle); this->setMagic_bottle(magic_bottle); this->setBlood_bottle_num(blood_bottle_num); this->setMagic_bottle_num(magic_bottle_num); //防止init()完自动释放对象 skillUI->retain(); skill_attack->retain(); skill_attack_1->retain(); skill_attack_2->retain(); skill_attack_3->retain(); blood_bottle->retain(); magic_bottle->retain(); blood_bottle_num->retain(); magic_bottle_num->retain(); //添加技能图标的触摸监听 skill_attack->addTouchEventListener(skill_attack,toucheventselector(OptionLayer::touchEventHandler)); skill_attack_1->addTouchEventListener(skill_attack_1,toucheventselector(OptionLayer::touchEventHandler)); skill_attack_2->addTouchEventListener(skill_attack_2,toucheventselector(OptionLayer::touchEventHandler)); skill_attack_3->addTouchEventListener(skill_attack_3,toucheventselector(OptionLayer::touchEventHandler)); //添加物品触摸监听 blood_bottle->addTouchEventListener(blood_bottle,toucheventselector(OptionLayer::touchEventHandler)); magic_bottle->addTouchEventListener(magic_bottle,toucheventselector(OptionLayer::touchEventHandler)); //开启技能触摸 skill_attack_1->setTouchEnabled(true); skill_attack_2->setTouchEnabled(true); skill_attack_3->setTouchEnabled(true); skill_attack->setTouchEnabled(true); //开启物品触摸 blood_bottle->setTouchEnabled(true); magic_bottle->setTouchEnabled(true); return true; }