2011-11-04 31 views
7

我開始學習cocos2d,我在想爲什麼實際上我們使用CCDirector的convertToGL,[[CCDirector sharedDirector] convertToGL: touchLoc];當我們已經有[touch view][touch locationInView: [touch view]];cocos2d:爲什麼convertToGL,爲什麼addChild CCSprite在它的正文之前?

此外,我們首先「addChild」一個包含圖像的CCSprite,然後設置它的正文,並且ccsprite成爲本體的數據用戶。相反,「addChild」會更好嗎?或者它是爲了什麼特定的目的?

感謝

+0

請只有一個問題,除非另一個/後續問題與主要問題 – LearnCocos2D

+1

第二部分有關:我想你是指Box2D主體。 addChild方法只接收從CCNode派生的對象。它不知道如何使用b2Body類。 – LearnCocos2D

+0

@ LearnCocos2D:好的,謝謝你的快速回答!對於雙重問題抱歉,我會記住! – Paul

回答

12

這是因爲OpenGL的視圖(EAGLView類)使用比可可觸摸做了不同的座標系。

例如,Cocoa Touch的0,0位置位於左上角,而OpenGL的0,0位置位於左下角。這就是爲什麼你需要「轉換爲GL」所有UIView座標。

該轉換還考慮到當前的設備方向。

+0

謝謝,好吧它是有道理的!乾杯 – Paul

相關問題