2013-09-30 34 views
0

我有我的CCScene在我的cocos2d與box2d遊戲的UIView。我有這個問題,UIView吞下所有的觸及和CCLayer的ccTouchesBegin等方法不會被調用。如何通過觸摸從UIView CCLayer(ccTouchesBegin等)

有什麼辦法可以將觸動傳遞給我的CCLayer?我搜索了這個,但我沒有得到任何關於這個問題,只獲得阻止層之間的觸摸的結果。

有人知道嗎?所有幫助將不勝感激,謝謝提前

回答

0

感謝您的提示,我試過你的代碼@doctorBroctor,但它沒有奏效。但我最終通過授權進行了工作。只需將代碼方法從UIView編碼到我的圖層。

+0

你是如何解決它的?你能顯示一些代碼嗎? – OMGPOP

+0

我不再使用Cocos2D,但我寫了一個委託協議,並將該層作爲UIView的委託,所以基本上當我觸及UIView時,我調用了委託方法(並導致該層是委託,它響應而不是UIView的) – Skiny

1

在圖層的初始化函數,你可以添加以下代碼:

[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:NO];

如果不工作,這裏有兩個鏈接,可以幫助您解決。第一個是StackOverflow問題,看起來好像是somewhat similar to yours.另一個是Cocos2D論壇的一個人,他的問題是opposite problem as you,但看着他們的代碼和他們問題的答案可能會給你更多的東西來嘗試。

祝你好運,夥計!