您好,登錄后才能下訂單哦!
CocoStudio中場景編輯器是游戲運行的最關鍵場所,盡管DEMO中提供了各種類型的例子,但是在涉及到組件定位時,還是空白。
例如,DEMO中僅提供了這樣的代碼:
CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile("scenetest/SpriteComponentTest/SpriteComponentTest.json"); if (pNode == NULL) { return NULL; } CCActionInterval* action1 = CCBlink::create(2, 10); CCActionInterval* action2 = CCBlink::create(2, 5); CCComRender *pSister1 = static_cast<CCComRender*>(pNode->getChildByTag(10003)->getComponent("CCSprite")); pSister1->getNode()->runAction(action1);
顯然,運行各種各樣的ACTION,幾乎是每一個游戲必需的。而上面的例子中僅提供了簡單的理想情況下的位移操作。
那么,如果定位一個組件呢?
請參考下面代碼:
CCComRender *r =static_cast<CCComRender*>(m_pCurNode->getChildByTag(10015)->getComponent("CCSprite_D1")); PLACEHOLDER_HALF_HEIGHT=r->getNode()->getContentSize().height*0.5;
通過上面代碼,可以(而且必須這樣)訪問到精靈組件的大小等數據,但是如果定位組件位置就不行了。例如下面:
CCPoint point=r->getNode()->getPosition();
這樣得到的坐標只是一個(0,0)!!!
要得到上面精靈組件的坐標可以使用如下方法:
CCPoint point=m_pCurNode->getChildByTag(10015)->getPosition();
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。