2013-04-21 65 views
0

這是我第一次在這裏發表一個問題,經過很長一段時間的努力,並且無法自己解決,我決定來請求你的幫助。如何通過觸摸移動和跳轉字符並輕掃?

問我的問題,我需要先解釋我的情況。

我正在用Starling和Citrus Engine使用Actionscript3和AIR SDK編寫iPad遊戲。 基本上我的角色所做的就是左右移動,遊戲中的重力始終指向「向下/向地面」(對玩家來說),玩家需要旋轉iPad來解決難題,並在整個平臺上前進。

要移動角色,用戶需要水平觸摸(並按住)任意一半的屏幕(如果設備旋轉,它將成爲屏幕的頂部/底部一半),並使用戶跳轉角色需要向上方向(屏幕上的任何位置)進行輕掃手勢。

這個控件的主要問題是,例如,如果我使用我的右手拇指將字符移動到右側並且需要跳轉,那麼最舒服的方法就是使用我的左手拇指在屏幕上滑動並使其跳躍。只要我這樣做,我的角色開始向左移動,因爲我的左手拇指觸摸屏幕的左半邊。

我需要的是一種可以這種方式工作的方法(能夠像本例中一樣移動和跳轉)。 我嘗試了很多方法,忽略觸摸ID,嘗試了不同的觸摸事件類flash/starling,甚至是一些第三方的手勢API。

我認爲我真正需要幫助的是邏輯,而不是編碼。

我只是無法讓它順利運作。 請幫忙嗎?

+1

我想你可能想要考慮試圖跟蹤一組觸摸的「速度」,以確定動作是簡單地移動角色還是在方向上施加跳躍力(並且可能基於速度)的刷卡。如果您使用字典或其他對象爲每個TouchEvent ID存儲數組,則應該能夠以最近手指所有點的數組形式構建一個簡短歷史記錄,使用這個數組,您應該能夠計算一個「速度」。如果速度高於某個閾值,那麼如果不是開始步行運動,則是跳躍。 – shaunhusain 2013-04-21 09:38:24

+0

本着@shaunhusain所說的相同精神,只需使用一個方向創建一個簡單的測試應用程序,並通過記錄和試驗找到適當的算法。只有將它移回到您的真實應用程序。當然可以找到解決方案。爲了將來嘗試在這裏建立點,所以你可以在未來提供這種問題的賞金。 – 2013-04-21 12:39:16

回答

0

謝謝@shaunhusain和@David H, 對不起,很長一段時間回覆給你,我真的忙於其他功能的工作。 一旦我深入瞭解它,我就能夠按照自己的想法努力工作,完全按照你們的建議進行操作。