Cocos2d-x LayoutComponent的使用
2016-02-18 23:18
621 查看
void touchEvent(Ref *pSender, cocos2d::ui::Widget::TouchEventType type);
cocos2d::LayerColor* _baseLayer;
void HelloWorld::init2();
------------------------------------------------------------------------------------------------------------
Size widgetSize = Director::getInstance()->getVisibleSize();
_baseLayer = LayerColor::create();
_baseLayer->setColor(Color3B(50, 100, 0));
_baseLayer->setOpacity(100);
_baseLayer->setContentSize(Size(200, 200));
this->addChild(_baseLayer);
Button* button = Button::create("animationbuttonnormal.png");
CCLOG("content size should be greater than 0: width = %f, height = %f", button->getContentSize().width,
button->getContentSize().height);
button->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
button->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this));
button->setZoomScale(0.4f);
button->setPressedActionEnabled(true);
this->addChild(button);
void HelloWorld::touchEvent(Ref *pSender, Widget::TouchEventType type)
{
switch (type)
{
case Widget::TouchEventType::BEGAN:
break;
case Widget::TouchEventType::MOVED:
break;
case Widget::TouchEventType::ENDED:
{
Size widgetSize = Director::getInstance()->getVisibleSize();
Size layerSize = Size(300,200);
if (layerSize.width == widgetSize.width && layerSize.height == widgetSize.height)
_baseLayer->setContentSize(Size(200, 200));
else
_baseLayer->setContentSize(widgetSize);
//ui:Helper::doLayout(_baseLayer);
init2();
}
break;
case Widget::TouchEventType::CANCELED:
break;
default:
break;
}
}
void HelloWorld::init2()
{
Sprite* leftTopSprite = Sprite::create("CloseSelected.png");
LayoutComponent* leftTop = LayoutComponent::bindLayoutComponent(leftTopSprite);
leftTop->setHorizontalEdge(LayoutComponent::HorizontalEdge::Left);
leftTop->setVerticalEdge(LayoutComponent::VerticalEdge::Top);
_baseLayer->addChild(leftTopSprite);
Sprite* leftBottomSprite = Sprite::create("CloseSelected.png");
LayoutComponent* leftBottom = LayoutComponent::bindLayoutComponent(leftBottomSprite);
leftBottom->setHorizontalEdge(LayoutComponent::HorizontalEdge::Left);
leftBottom->setVerticalEdge(LayoutComponent::VerticalEdge::Bottom);
_baseLayer->addChild(leftBottomSprite);
Sprite* rightTopSprite = Sprite::create("CloseSelected.png");
LayoutComponent* rightTop = LayoutComponent::bindLayoutComponent(rightTopSprite);
rightTop->setHorizontalEdge(LayoutComponent::HorizontalEdge::Right);
rightTop->setVerticalEdge(LayoutComponent::VerticalEdge::Top);
_baseLayer->addChild(rightTopSprite);
Sprite* rightBottomSprite = Sprite::create("CloseSelected.png");
LayoutComponent* rightBottom = LayoutComponent::bindLayoutComponent(rightBottomSprite);
rightBottom->setHorizontalEdge(LayoutComponent::HorizontalEdge::Right);
rightBottom->setVerticalEdge(LayoutComponent::VerticalEdge::Bottom);
_baseLayer->addChild(rightBottomSprite);
ui::Helper::doLayout(_baseLayer);
}
cocos2d::LayerColor* _baseLayer;
void HelloWorld::init2();
------------------------------------------------------------------------------------------------------------
Size widgetSize = Director::getInstance()->getVisibleSize();
_baseLayer = LayerColor::create();
_baseLayer->setColor(Color3B(50, 100, 0));
_baseLayer->setOpacity(100);
_baseLayer->setContentSize(Size(200, 200));
this->addChild(_baseLayer);
Button* button = Button::create("animationbuttonnormal.png");
CCLOG("content size should be greater than 0: width = %f, height = %f", button->getContentSize().width,
button->getContentSize().height);
button->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));
button->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this));
button->setZoomScale(0.4f);
button->setPressedActionEnabled(true);
this->addChild(button);
void HelloWorld::touchEvent(Ref *pSender, Widget::TouchEventType type)
{
switch (type)
{
case Widget::TouchEventType::BEGAN:
break;
case Widget::TouchEventType::MOVED:
break;
case Widget::TouchEventType::ENDED:
{
Size widgetSize = Director::getInstance()->getVisibleSize();
Size layerSize = Size(300,200);
if (layerSize.width == widgetSize.width && layerSize.height == widgetSize.height)
_baseLayer->setContentSize(Size(200, 200));
else
_baseLayer->setContentSize(widgetSize);
//ui:Helper::doLayout(_baseLayer);
init2();
}
break;
case Widget::TouchEventType::CANCELED:
break;
default:
break;
}
}
void HelloWorld::init2()
{
Sprite* leftTopSprite = Sprite::create("CloseSelected.png");
LayoutComponent* leftTop = LayoutComponent::bindLayoutComponent(leftTopSprite);
leftTop->setHorizontalEdge(LayoutComponent::HorizontalEdge::Left);
leftTop->setVerticalEdge(LayoutComponent::VerticalEdge::Top);
_baseLayer->addChild(leftTopSprite);
Sprite* leftBottomSprite = Sprite::create("CloseSelected.png");
LayoutComponent* leftBottom = LayoutComponent::bindLayoutComponent(leftBottomSprite);
leftBottom->setHorizontalEdge(LayoutComponent::HorizontalEdge::Left);
leftBottom->setVerticalEdge(LayoutComponent::VerticalEdge::Bottom);
_baseLayer->addChild(leftBottomSprite);
Sprite* rightTopSprite = Sprite::create("CloseSelected.png");
LayoutComponent* rightTop = LayoutComponent::bindLayoutComponent(rightTopSprite);
rightTop->setHorizontalEdge(LayoutComponent::HorizontalEdge::Right);
rightTop->setVerticalEdge(LayoutComponent::VerticalEdge::Top);
_baseLayer->addChild(rightTopSprite);
Sprite* rightBottomSprite = Sprite::create("CloseSelected.png");
LayoutComponent* rightBottom = LayoutComponent::bindLayoutComponent(rightBottomSprite);
rightBottom->setHorizontalEdge(LayoutComponent::HorizontalEdge::Right);
rightBottom->setVerticalEdge(LayoutComponent::VerticalEdge::Bottom);
_baseLayer->addChild(rightBottomSprite);
ui::Helper::doLayout(_baseLayer);
}
相关文章推荐
- Cocos2d-x Layout使用三
- Cocos2d-x Layout的使用二
- Cocos2d-x Layout使用
- cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现(lua的应用)
- cocos2dx 3.x 之移植到android平台
- cocos2d 编译显示MSBuild3073
- 虚拟按键隐藏之后cocos游戏的适配问题
- Cocos2d-x 3.x 场景切换
- cocos2dx-js中判断点在多边形当中
- KBEngine Cocos2d JS 客户端启动过程
- cocos android分析
- cocos2dx3.2 异步载入和动态载入
- cocos2dx的runAction: 反复运行,多个动作连接运行,多个动作同一时候运行的实现
- KBEngine 编译、运行、调试
- xcode 4.5中Cocos2d 屏幕方向问题
- 阅读 KBEngine 要理清的问题
- cocos2dx ui::Button 的addClickListener问题
- cocos2d-x学习笔记--创建对象、构造函数及初始化
- Cocos2d-x学习笔记-- 深入剖析HelloWorld
- cocos2dx学习之路----第二篇(HelloWorld深入讲解)