2013-07-19 48 views
2

我使用CGRect作爲hitboxes,而我的碰撞看起來有點偏離。我想快速查看我的點擊框的實際位置。用Cocos2d繪製CGRect

我嘗試了一堆不同的方法,但其中大部分似乎已經過時,或者只是沒有爲我工作。我試過this已經和一堆類似的方法。

什麼是最簡單的方法來顯示CGRect的邊界?

+0

我也嘗試製作UIView並將框架設置爲hitbox,但[self addChild:view]不起作用,因爲UIView顯然不算CCNode。 – NMunro

回答

4

使用cocos2d 2.0,在ccConfig.h中有一個CC_SPRITE_DEBUG_DRAW符號。如果將其設置爲1,則該框將在訪問週期中繪製。

+0

我通常不是精靈,我使用粒子發射器。每個對象都有一個粒子發射器屬性以及一個CGRect hitbox屬性。 – NMunro

+0

好吧,進入CCSPrite的代碼,方法並複製粘貼部分繪製邊界框到您的粒子對象的繪製方法,與命中框CGrect。只是說... :)你得到的代碼盧克...使用代碼 – YvesLeBorg

+0

所以我的班級被稱爲爆炸,它有一個CCParticleSystemQuad *發射器,和CGRect的hitBox。我不清楚繪圖方法的工作原理。如果我將 - (void)繪製添加到我的類中,並將代碼放入CCSprite的繪製方法中,那麼它將在我創建對象時繪製,還是必須顯式調用draw方法? – NMunro

0

如果CC_SPRITE_DEBUG_DRAW,如YvesLeBorg建議,不適合你,你可以覆蓋在您層或節點draw方法,並使用從CCDrawingPrimitives.h輔助功能在該方法來繪製。不要忘記撥打[super draw]

+0

我見過很多,我已經嘗試了一堆不同的實現,但他們都沒有做任何事情。沒有錯誤或任何事情,只是沒有發生;我的hitbox沒有繪製。 – NMunro