cocos2d js 筆記一

cocos2d getPosition()取不到實(shí)際坐標(biāo)問題

1账嚎、cocos2d,節(jié)點(diǎn)默認(rèn)坐標(biāo)(0,0),默認(rèn)錨點(diǎn)(0.5,0.5)拐袜,頂點(diǎn)節(jié)點(diǎn)(最上層節(jié)點(diǎn))的坐標(biāo)以世界坐標(biāo)為基準(zhǔn)(也就是此節(jié)點(diǎn)的坐標(biāo)(0,0)就是世界坐標(biāo)的(0,0))。默認(rèn)層次若沒有聲明Z坐標(biāo),則先addchild()的在下層瞎暑,后addchild()的在上層(上層覆蓋下層),默認(rèn)父節(jié)點(diǎn)在子節(jié)點(diǎn)上層背稼。

2俯树、getposition()獲取子節(jié)點(diǎn)坐標(biāo)時(shí)帘腹,獲取到的不是世界坐標(biāo),而是節(jié)點(diǎn)坐標(biāo)许饿,也就是相對(duì)父節(jié)點(diǎn)左下角的坐標(biāo)阳欲,也就是以父節(jié)點(diǎn)的左下角(錨點(diǎn)0,0)為新坐標(biāo)的原點(diǎn)形成的新坐標(biāo)。這樣很容易弄錯(cuò)的說,要獲取子節(jié)點(diǎn)世界坐標(biāo)胸完,可以用這個(gè)語句:要獲取CCNode *obj书释;的世界坐標(biāo)

CCPoint objpoint = obj->getParent()->convertToWorldSpace(obj->getPosition()));

還有一點(diǎn)容易忽略,我們?cè)趯?duì)一個(gè)節(jié)點(diǎn)進(jìn)行包裝的時(shí)候其實(shí)就是讓這個(gè)節(jié)點(diǎn)有了父節(jié)點(diǎn)赊窥,例如我新建了一個(gè)map類爆惧,在map類里面添加了兩個(gè)background精靈,這樣其實(shí)background是map的內(nèi)嵌對(duì)象锨能,這樣map就是兩個(gè)精靈的父節(jié)點(diǎn)扯再,我取background的坐標(biāo)其實(shí)取的是相對(duì)父節(jié)點(diǎn)的坐標(biāo)。

3址遇、對(duì)父節(jié)點(diǎn)進(jìn)行的移動(dòng)會(huì)造成它的所有子節(jié)點(diǎn)會(huì)隨著父節(jié)點(diǎn)移動(dòng)熄阻,這樣結(jié)論2也驗(yàn)證了對(duì)隨父節(jié)點(diǎn)運(yùn)動(dòng)的子節(jié)點(diǎn)取getPosition()的值不會(huì)改變事實(shí).

同時(shí),對(duì)父節(jié)點(diǎn)取setScale()倔约,子節(jié)點(diǎn)也會(huì)縮放秃殉,但是對(duì)子節(jié)點(diǎn)取getPosition()也還是沒有縮放的值,這樣會(huì)造成取得值比實(shí)際值(世界坐標(biāo)下)大一倍浸剩。

cocos2d 包裝類和子節(jié)點(diǎn)問題

有時(shí)候不會(huì)在scene里面直接添加精靈钾军,而是會(huì)自己建一個(gè)精靈類,例如我要添加hero精靈绢要,但是我不會(huì)直接在scene里面寫

CCSprite?*hero=CCSprite::create("hero.png");

而是會(huì)自己建一個(gè)Hero類吏恭,然后在Hero類的onEnter()函數(shù)里面寫上上述語句,這樣就可以在Hero類里面寫上hero相關(guān)的方法重罪,例如各種動(dòng)作樱哼。

但是這個(gè)時(shí)候會(huì)出現(xiàn)一個(gè)問題,就是雖然Hero類是個(gè)節(jié)點(diǎn)但是其本身并沒有可繪制東西剿配,而是依靠其子節(jié)點(diǎn)hero來繪制搅幅,Hero類本身是可以看成一個(gè)無限小的Node,所以對(duì)Hero的錨點(diǎn)以及位置設(shè)置時(shí)惨篱,會(huì)出現(xiàn)錨點(diǎn)設(shè)置無效的情況盏筐,這樣子節(jié)點(diǎn)的坐標(biāo)始原點(diǎn)始終是Hero->setposition()的那個(gè)點(diǎn)。

如果我用setContentSIze對(duì)Hero進(jìn)行設(shè)置

Hero->setContentSize(CCSizeMake(480,360));

這樣Hero就從一個(gè)無限小的節(jié)點(diǎn)變成一個(gè)480*360的節(jié)點(diǎn)砸讳,這時(shí)錨點(diǎn)的設(shè)置會(huì)有效了琢融,且hero的坐標(biāo)原點(diǎn)變成(480*360)的左下角。

這樣也從另外的角度解釋了setcontentsize并不能改變繪制大小簿寂,改變的僅僅是在屏幕上繪制的位置的結(jié)論漾抬。

cocos2d setContentSize()不能改變繪制大小問題

setcontentsize并不能改變繪制大小,改變的僅僅是在屏幕上繪制的位置常遂,例如setContentSize比實(shí)際小纳令,但是還是會(huì)全部顯示在屏幕上,一般會(huì)和setAnchorPoint一起使用,例如

map->setPosition(ccp(0,0));

map->setAnchorPoint(ccp(0,0.1));

map->setContentSize(CCSizeMake(960,620));

在屏幕上顯示效果和

map->setPosition(ccp(0,0));

map->setAnchorPoint(ccp(0,0.2));

map->setContentSize(CCSizeMake(960,310));

一樣

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末平绩,一起剝皮案震驚了整個(gè)濱河市圈匆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌捏雌,老刑警劉巖跃赚,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異性湿,居然都是意外死亡纬傲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門肤频,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叹括,“玉大人,你說我怎么就攤上這事宵荒≈祝” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵报咳,是天一觀的道長摔竿。 經(jīng)常有香客問我,道長少孝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任熬苍,我火速辦了婚禮稍走,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘柴底。我一直安慰自己婿脸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布柄驻。 她就那樣靜靜地躺著狐树,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸿脓。 梳的紋絲不亂的頭發(fā)上抑钟,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音野哭,去河邊找鬼在塔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拨黔,可吹牛的內(nèi)容都是我干的蛔溃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼贺待!你這毒婦竟也來了徽曲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤麸塞,失蹤者是張志新(化名)和其女友劉穎秃臣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喘垂,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甜刻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了正勒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片得院。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖章贞,靈堂內(nèi)的尸體忽然破棺而出祥绞,到底是詐尸還是另有隱情,我是刑警寧澤鸭限,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布蜕径,位于F島的核電站,受9級(jí)特大地震影響败京,放射性物質(zhì)發(fā)生泄漏兜喻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一赡麦、第九天 我趴在偏房一處隱蔽的房頂上張望朴皆。 院中可真熱鬧,春花似錦泛粹、人聲如沸遂铡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扒接。三九已至,卻和暖如春们衙,著一層夾襖步出監(jiān)牢的瞬間钾怔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工砍艾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蒂教,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓脆荷,卻偏偏與公主長得像凝垛,于是被迫代替她去往敵國和親懊悯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 前言 我選擇開發(fā)一個(gè)游戲有很多原因梦皮。我覺得自己是“核心”玩家炭分,過去的大部分時(shí)間我都花在玩游戲,自己制作剑肯、閱讀和游戲...
    月影檀香閱讀 11,910評(píng)論 1 27
  • 前言 LinkedBlockingDeque是基于雙向鏈表的雙端有界阻塞隊(duì)列捧毛,使用非公平ReentrantLock...
    zhanglbjames閱讀 859評(píng)論 0 1
  • 探索“雙十一”支付背后的金融科技 探索“雙十一”背后的金融科技 昨天雙十一阿里巴巴交易6分58秒突破100億,10...
    shuytu閱讀 840評(píng)論 0 0
  • 文藝點(diǎn)說让网,時(shí)間就如同是白駒過隙呀忧。真的就是這樣,毫不夸張的說溃睹,我都不曉得自己是如何經(jīng)過高考到現(xiàn)在正式成為一名...
    M小馬哥大M閱讀 114評(píng)論 0 0
  • 中國股市大部分中小投資者其實(shí)都是喜歡追漲殺跌的而账,都是些短線投資者為主。那么在這個(gè)短線市場(chǎng)里面如果要想真的賺到錢因篇,那...
    陳仁生閱讀 171評(píng)論 0 0