Cocos 2 dx 3.1.1 cocostudio 1を導入する.4 UI SCENE基本操作
3149 ワード
void TollgateScene::createOprUI()
{
auto UI = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("OprUi_1.ExportJson");
this->addChild(UI);
/* */
Button* rightBtn = (Button*)Helper::seekWidgetByName(UI, "rightbtn");
Button* quickMoveBtn = (Button*)Helper::seekWidgetByName(UI, "quickMoveBtn");
Button* leftBtn = (Button*)Helper::seekWidgetByName(UI, "leftbtn");
/* */
leftBtn->addTouchEventListener(this, toucheventselector(TollgateScene::moveToLeft));
rightBtn->addTouchEventListener(this, toucheventselector(TollgateScene::moveToRight));
quickMoveBtn->addTouchEventListener(this, toucheventselector(TollgateScene::quickMove));
}
void TollgateScene::moveToLeft(Ref* sender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_ENDED:
m_player->moveToLeft();
break;
}
}
void TollgateScene::moveToRight(Ref* sender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_ENDED:
m_player->moveToRight();
break;
}
}
void TollgateScene::quickMove(Ref* sender, TouchEventType type)
{
switch (type)
{
case TOUCH_EVENT_ENDED:
m_player->quickMove();
break;
}
}
scene
auto node = SceneReader::getInstance()->createNodeWithSceneFile("publish/NewScene.json");
if(node)
{
addChild(node,0);
}
ComRender *child = (ComRender*)(node->getChildByTag(10003)->getComponent("CCSprite"));
auto pEnemy = (Sprite*)(child->getNode());
log("123123:%d", pEnemy->getPositionX());
ループノード
auto node = SceneReader::getInstance()->createNodeWithSceneFile("publish/NewScene.json");
if(node)
{
addChild(node,0);
}
//auto hero = node->getChildByTag(10020);
//ComRender *child = (ComRender*)(node->getChildByTag(10003)->getComponent("CCSprite"));
Vector<Node*> sp_vec = node->getChildByTag(10003)->getChildren();
for( auto& e : sp_vec)
{
switch(e->getTag()){
case 100011 :
child = (ComRender*)(e->getComponent("CCSprite"));
pEnemy = (Sprite*)(child->getNode());
log("100011:%d, [%lf, %lf][%lf, %lf]", e->getTag(),pEnemy->getAnchorPointInPoints().x,pEnemy->getAnchorPointInPoints().y, pEnemy->getContentSize().width,pEnemy->getContentSize().height);
break;
}
//log("123123:%d, %s", heros->getTag(), heros->getDescription());
}
ノードサイズの場所の取得
auto node = SceneReader::getInstance()->createNodeWithSceneFile("publish/NewScene.json");
if(node)
{
addChild(node,0);
}
ComRender *child;
Sprite *pEnemy;
child = (ComRender*)(node->getChildByTag(10003)->getChildByTag(100011)->getComponent("CCSprite"));
pEnemy = (Sprite*)(child->getNode());
log("100011: [%lf,%lf]%lf, %lf", pEnemy->getAnchorPointInPoints().x,pEnemy->getAnchorPointInPoints().y, pEnemy->getContentSize().width,pEnemy->getContentSize().height);