//------------------------------------------------------------------
//
// 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));
}
示例#2
0
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;
}