2012-06-18 59 views
0

我正在尋找幫助。我正在嘗試製作一些益智遊戲,並且在包含一些拼圖形狀的主圖層底部有可滾動的薄層。我可以滾動圖層並查看每個形狀,但形狀被定位在可滾動圖層上的代碼中,問題是,如果我嘗試檢測是否觸及精靈,哪個位置大於1024(在第一個iPad中),它不會「工作。它不起作用,因爲觸摸可以具有1024X768內部的位置並且形狀的位置例如是1500x100。使其更清晰,形狀是精靈,我嘗試使用CGRectContainsPoints方法來檢測它們。有沒有其他辦法可以讓你有任何想法?在此先感謝:]如何檢測出現在位置大於設備分辨率的觸摸

回答

0

你可以做的是子類化你的精靈,爲它創建一個委託並指定你的主視圖/類作爲委託。

實現適當的觸摸方法,並將選擇了哪個精靈的消息發送給委託(主視圖或期望的控制器類)。

這樣每個精靈都有相同的委託,並向控制類發送一條消息,指出哪個精靈已被選中並繼續具備所需的功能。不需要CGRectContainsPoint方法。

這是更清潔,更高效。

希望這會有所幫助!

+0

非常感謝您的回覆。我不會假裝我完全理解它:)因爲我會說我是初學者。你是否可以鏈接到一些博客或網站,解釋類似於你的想法?謝謝。 – repoguy

+1

發現這個教程很不錯,http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/。 – skram

+0

我不明白。我不知道如何開始這個「適當的觸摸方法」。我不知道任何其他方法比CGRectContainsPoints和CGRectContainsRect找出我是否觸及精靈,所以這是我的主要問題,順便說一句,謝謝你的鏈接。 – repoguy