您好,登錄后才能下訂單哦!
CocoStudio中場景編輯器是游戲運(yùn)行的最關(guān)鍵場所,盡管DEMO中提供了各種類型的例子,但是在涉及到組件定位時(shí),還是空白。
例如,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);
顯然,運(yùn)行各種各樣的ACTION,幾乎是每一個(gè)游戲必需的。而上面的例子中僅提供了簡單的理想情況下的位移操作。
那么,如果定位一個(gè)組件呢?
請(qǐng)參考下面代碼:
CCComRender *r =static_cast<CCComRender*>(m_pCurNode->getChildByTag(10015)->getComponent("CCSprite_D1")); PLACEHOLDER_HALF_HEIGHT=r->getNode()->getContentSize().height*0.5;
通過上面代碼,可以(而且必須這樣)訪問到精靈組件的大小等數(shù)據(jù),但是如果定位組件位置就不行了。例如下面:
CCPoint point=r->getNode()->getPosition();
這樣得到的坐標(biāo)只是一個(gè)(0,0)?。。?/span>
要得到上面精靈組件的坐標(biāo)可以使用如下方法:
CCPoint point=m_pCurNode->getChildByTag(10015)->getPosition();
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。