2015-07-02 71 views
0

我正在爲場景創建SKNode,並在每個單獨的SKNode上記錄觸摸事件。如果我觸摸節點並且只有可見節點才能看到日誌消息,我可以根據需要添加儘可能多的接觸並按預期工作。現在,如果我將另一個SKShapeNode添加到以前的SKNode的任何一個,觸摸區域將擴展爲更多的矩形,現在即使我觸摸原點SKNode外部,也會看到日誌消息。向現有SKNode添加子SKNode會更改觸摸區域

第一張圖片顯示了SKNode的原始觸摸區域,第二張圖片是將SKShapeNode添加到該SKNode後的新觸摸區域。添加的SKShapeNode是20x20,因此它適合20x100的條形。

現在的問題是,我現在觸摸其他小節以後會出現多個觸摸事件,因爲它們重疊。有沒有辦法解決?

Touch area shown in blue for that SKNode New touch area after adding a child SKShapeNode

回答

2

你似乎是使用單獨的圖形線條的各角度。相反,嘗試使用與0度線相同的圖形,然後使用zRotation角度。我沒有嘗試過,但我認爲它會解決你的問題。

或者嘗試在touchesBegan方法中使用containsPoint來進行觸摸識別。您可以檢查觸摸是否位於任何節點內並進行相應處理。

+0

旋轉節點以與OP正在看到的內容一致的方式更改其邊界框 – 0x141E