2010-11-04 128 views
1

我正在考慮將舊的ZX Spectrum平臺遊戲移植到iPhone上。 iPhone平臺遊戲中的控件如何實現?它是加速度計還是它們在屏幕上繪製與方向和點火相對應的按鈕?iPhone平臺遊戲。控制?

回答

9

最好的遊戲讓你選擇傾斜或觸摸在「選項」菜單。有些人可能更喜歡傾斜,但可能是躺着或騎在車裏,所以想用觸摸代替。或者他們可能厭倦了他們的大拇指擋住了屏幕,並且渴望更精確的模擬輸入,然後渴望傾斜。他們會愛你,如果你讓他們自己選擇!

哪一個最好還取決於遊戲的類型以及適用於該遊戲的控件的類型。加速度計可以很好地模擬模擬棒,但是如果你想「開火」或「跳躍」等,你仍然需要點擊。復古遊戲的輸入可能是方向鍵或數字操縱桿(4或8方向),所以您需要設置閾值,以確定給定方向上的傾斜度會觸發定向輸入。讓玩家爲此設置一個「傾斜靈敏度」選項會很好。 (另外,當遊戲啓動時或者用戶改變選項時,你可以允許設置「默認向下矢量」......所以用戶並不總是必須將設備與地面平行放置以玩你的遊戲。這可能還需要不同的靈敏度,每個軸,基於角度,但我不會在這裏進入)

屏幕上的方向控制(虛擬按鈕)在iPhone遊戲中非常普遍,並且易於實現,但他們有一些缺點。首先,你的大拇指模糊了屏幕的一部分!其次,按鈕圖像即使是半透明的,也可以掩蓋遊戲中的元素(非常重要)。第三 - 這有點難以理解 - 它們可能更難以使用,因爲它們不提供任何觸覺反饋。更具體地說:你被開發商定位爲「中心點」 - 這可能適合他的拇指的自然休息位置,但不一定是你的!所以在你移動之後很難重新調整你的拇指。另外,很難判斷您的拇指(太多或太少)移動到特定方向的移動量。

爲了彌補剛纔提到的缺點,我推薦了一種不同的方法。當玩家第一次觸摸屏幕時,將其視爲您的「中心點」。然後當玩家滑動拇指並將其保持在屏幕上時,將其視爲他的「終點」。中心點和終點之間的矢量應該決定他的方向。它對數字(8位輸入)非常有用,對於模擬輸入也非常有用(取矢量長度)。要點擊跳躍或拍攝,讓玩家在任何他想要的地方輕點!如果你需要更多的控制而不是簡單的「火力按鈕」,用戶可以觸摸屏幕的上半部分來觸發,例如,屏幕的下半部分可以跳躍。

希望這可以幫助一些。正如你所看到的那樣,這是一個複雜的問題......但卻是一個非常重要的問題。沒有什麼比無法控制的方式更糟糕了,因爲這種方式毀了一場不錯的比賽!祝你好運!

+0

非常感謝,我有這些相同的ideeas漂浮在我的腦海裏:-) – Istvan 2010-11-05 07:08:10

+0

當我設計我的射擊遊戲時,我做了同樣的事情。無論玩家觸摸並移動他的手指,三角距離就是移動的距離。 – Istvan 2010-11-05 07:10:18

+0

非常好!我已經在我編寫的遊戲中嘗試了基於觸控的控制方案,並且「觸摸任意位置和拖動」方法讓我感覺更加自然流暢。有時也可以顯示一個小圖形(我使用了GL_LINE繪製的箭頭),以便向用戶傳達矢量的方向及其大小。 – electromaggot 2010-11-05 07:24:46

5

我認爲你們有很多相同的選擇。我決定不要使用半透明按鈕,因爲我一直把它們當作iPhone遊戲的玩家。這主要是因爲沒有觸覺反饋,我的手指往往會脫落按鈕。沒有什麼比認爲你要跳進山谷更糟了。另外,我覺得通過使用D-Pad,我會堅持過時的想法來控制這類遊戲。如果iPhone沒有操縱桿(而且它確實沒有看到蘋果已經阻止任何人爲iOS開發真正的外部控制器),我應該真正依靠它的優勢 - 即觸摸屏幕和加速度計。

考慮到這些顧慮,我決定開發多個控制系統並讓用戶選擇。我應該提到,在我的遊戲中,玩家總是集中在屏幕上(整個世界平移),除了跑步和跳躍之外,我的遊戲中沒有其他動作。以下是控制系統,我拿出這麼遠:

  1. 簡單的觸摸:您點擊並按住給玩家精靈的左側向左移動,給玩家精靈的移動權對。要停下來,你從屏幕上拿起你的手指,摩擦/慣性使他回到停頓狀態。您觸摸球員上方跳躍(直接在y軸的上方或45度角內)。我(作爲遊戲的開發者)發現這些控制是完全直觀的,當前兩位玩家本能地試圖刷屏時,我感到有些失望,並且你知道什麼都沒有發生。也許他們已經習慣了我簡單的觸摸系統,並學會了喜歡它,或者我可能只是失去了視野,而且我覺得直覺並不像我想象的那樣普遍。

  2. 傾斜步行:您將手機向左側傾斜向右側行走,您將手機向右側傾斜,向左側行走,然後點擊屏幕跳躍。沒錯,玩家實際上是在與你傾斜的方向相反的方向上運行。就好像他總是跑上山。這對我來說很自然。事實上,在某些方面,這比方法1(Simple Touch)更自然,但準確性非常糟糕。玩家總是做到了我所期望的他,但是我發現我不能用它來真正發揮我的遊戲(即使我用物理學嘲弄,玩家幾乎總是衝過平臺)。

  3. 輕彈步行:這是我第一次嘗試檢測輕掃動作。用戶可以在任何地方輕彈(快速滑動然後將手指從屏幕上拉出)。玩家將以與輕彈速度成比例的速度朝輕拂方向行進。這對我來說有點直觀,遊戲絕對可玩,但它有一些缺點。對於初學者來說,只有在結束後才能檢測到輕拂。這意味着用戶的行爲和屏幕上的反應之間總會有延遲。其次,當我把它呈現給我的妻子,讓她思考時,她做的第一件事就是慢慢地將她的手指拖到屏幕上而不放過,小玩家精靈靜靜地站立着。這使我們的第四個和最終版本...

  4. 觸摸和拖動行走:當用戶將他們的手指在屏幕上上下,這一點被記錄下來。當用戶將手指拖離該點時,玩家精靈以與手指拖動相同的方向以與用戶手指距該原始起點的距離成比例的速度運行。換句話說,如果他們拖得離原點很遠,他們跑得很快,如果他們只拖動一小段距離,他們就會慢慢地跑。通過點擊玩家上方和/或向上滑動來實現跳躍。一旦我知道這個系統如何解決我的遊戲,我會更新這個評論。

+0

打死你可以在這裏看到最終結果:https://itunes.apple.com/us/app/floyds-worthwhile-endeavor/id783782940?mt=8 – DavidH 2014-09-08 20:30:41