2014-01-24 45 views
0

我需要處理觸摸並不會消耗它。可以在SpriteKit中執行嗎? 我想保持代碼儘可能通用。處理觸摸而不消耗

documentation我嘗試這樣做:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //Do some work with the touch 

    //Forward it to next responder(node bellow) 
    [super touchesBegan:touches withEvent:event]; 
} 

不過倒是沒有得到轉發。

我的課是SKNode的子類。

+0

發佈文檔鏈接。 – trojanfoe

+0

您提供的鏈接與SpriteKit無關。 – trojanfoe

+0

@trojanfoe SKNode是UIResponder的子類 –

回答

1

簡單:

[self.parent touchesBegan:touches withEvent:event]; 

下一個響應者總是另一種觀點認爲,沒有其他節點。如果直接父節點不是要發送給它的節點,則如果知道右節點是接收該節點的節點的第n個父節點,則執行self.parent.parentself.parent.parent.parent。否則,使用節點搜索功能來查找正確的節點。

+0

問題是父母不是下一個應答者:( –

+0

你說你需要將它傳遞給父母,下一個應答者總是另一個視圖,而不是另一個節點,如果直接父母不是你想要發送的節點如果您知道正確的節點是接收該觸摸的節點的第n個父節點,則執行self.parent.parent或self.parent.parent.parent,否則使用節點搜索功能找到正確的節點 – LearnCocos2D

+0

我把我的問題編輯得很清楚,你的評論完美地回答了,你能編輯你的答案,以便我可以接受它。 –