2013-04-16 32 views
0

我想要做的事情:把我觸摸屏幕的座標放到2個浮動,x和y中。CCPoint浮動轉換

我的理解是,要獲得我觸摸的位置的座標,我應該使用getLocation()。所以我寫了一小段代碼:

CCTouch *pTouch; 
CCPoint *xy = pTouch->getLocation(); 

我怎麼去理解它(這可能很可能是錯誤的),這應該有自己的變量XY設定爲等於當屏幕被觸摸的OpenGL的座標。如果是這種情況,我將如何將此CCPoint變量轉換爲浮點數或兩個(x和y浮點值)?

回答

1

這裏是你可以做什麼。在場景類的init()函數中添加調用

setTouchEnabled(true); 

告訴了cocos2d-X通過調用ccTouchBegan,ccTouchMoved,ccTouchCancelled和ccTouchEnded現場酌情給大家介紹一下觸摸事件。現在,當這些函數被調用時,你可以通過一個

cocos2d::CCTouch *touch 

你可以使用它來獲得觸摸座標。我在我的遊戲中做的是

CCPoint p = touch->getLocationInView(); 
p = CCDirector::sharedDirector()->convertToGL(p); 

並且p將包含觸摸的座標。你可以通過做

float x = p.x; 
float y = p.y; 

希望有所幫助,從而獲得觸摸的x和y座標的浮點值。 :)