Dokunmatik ekranda “D-Pad” yapmak (veya taklit etmek); sanal d-pad


12

Birçoğu gerçek bir D-Pad'e sahip olmayan dokunmatik tabanlı cihazların çoğalmasıyla, bir dokunmatik ekranda D-Pad'in nasıl taklit edileceğine dair herhangi bir kaynak olup olmadığını merak ediyorum? Özellikle XNA ve / veya Android kod örnekleri ile ilgileniyorum.

Yanıtlar:



16

Sizi dokunmatik ekranlı bir cihazda D-pad taklit etme girişiminden vazgeçirebilir miyim?

Dokunmatik ekranda bir D-pad'i taklit etme ile ilgili sorunlar şunlardır:

  • D-pad oyun için kullanabileceğiniz ekran alanı kaplar;
  • gerçek bir D-pad'in aksine, taklit edilmiş bir D-pad neredeyse hiçbir geri bildirim sunmaz: bir oyuncu olarak, ne hissettiğiniz ne de görme yoluyla hangi yöne bastığınızı söyleyemezsiniz (parmağınız D- ekran üzerinde). Böylece parmağınız D-pad'den çok kolay kayıyor veya yanlış tarafına kayıyor ve bu da hilelere ve hayal kırıklığına neden oluyor.

Dokunmatik ekranlı bir cihaz, "gerçek bir D-pad'i olmayan" bir cihazdan çok daha fazlasıdır. Dokunmatik ekranlı cihaz, oynatıcının ekranın herhangi bir yerine dokunmasına ve böylece görünen herhangi bir oyun öğesiyle etkileşime girmesine olanak tanır . Bu, çok çeşitli oyun tasarımı olanakları sunar ve bu tasarımların, taklit edilmiş bir D-pad'den çok daha hoş olması muhtemeldir.


1
Ayrıca, böyle küçük bir ekran için Pathing uygulamak önemsizdir. Yakınlaştırma ve oyun haritasını kaydırın, ardından Dokunun ve yollayın!
Stephen Furlani

9

Bunun en yararlı cevap olmadığını biliyorum, ancak bir projeyi başka bir platformdan taşımazsanız, sanal D-Pad'de yeniden düşünmenizi öneririm. Sanal D-Pad'lerin çoğu uygulaması en iyi ihtimalle zayıftı, dokunsal geri bildirim eksikliği onları platform için kötü bir seçim haline getiriyor.

Oyununuza, platformların zayıf yönlerini oluşturmak yerine platformların güçlü yönlerini vurgulayan bir arayüz oluşturmaya çalışmaktan çok daha iyidir.


Görünüşe göre Gareth yazdığım gibi cevap verdi. Burada görülecek bir şey yok ...
wkerslake

Bu konuda yalnız olmadığımı gördüğüme sevindim!
Gareth Rees

3

Diğerlerinin söylediği gibi, çevreye uyan bir tasarım bulmak en iyisidir, çevreyi tasarımınıza uymaya zorlamaz, ancak D-Pad ile yapışırsanız, bunu nasıl yapabilirsiniz:

"Temas noktası" nı bir fare imleci olarak düşünüyorsanız, temel olarak imleç hareketine tepki veren bir "etkin nokta" oluşturursunuz.

Bunu yapmanın en iyi / en basit yolu, oyuncunun zaten parmaklarının olması muhtemel olan alt köşelerden birinde yarı saydam (unutmayın, oyun ekranını kapladığınızı) kutusu veya daire yapmaktır. Ardından, oyuncunun parmağının sıcak noktanın merkezine göre konumunu izlersiniz ve bu sizin giriş delta değerinizdir.


Bu, çoğu oyunun göründüğü d-pad denetleyici sorununu çözme şeklidir. Yine de hassas platformlama için berbat.
Nailer

2

Çoğu insanın bir D-Pad'in kötü bir fikir olduğunu düşündüğünü görüyorum ve haklılar - çoğu zaman. Android için Gameloft'tan Dungeon Hunter, dokunmatik ekranlar için harika bir D-Pad'in harika bir örneğidir. Duyarlı, 360 derece yön var, "aptal" değil. Demek istediğim, "aptal" değil, D-Pad'e bastığınızda ve parmağınızı D-Pad alanından dışarı kaydırdığınızda, ekranda ne olduğuna müdahale etmez - sadece uzanır. Bu nedenle, yanlışlıkla D-Pad alanından çıkarsanız hareketi kaybetmezsiniz.

360 derece yön ve sınırların ötesinde yanıt vermenin önemli olduğunu düşünüyorum ve bunu yapabiliyorsanız D-Pad'i doğru yapma şansınız olacak.


1

Bir D-Pad uygulamak istiyorsanız, kafama gelen en kolay yol dört dikdörtgen (D-Pad'in her yönü için bir tane) oluşturmak ve dokunma konumunun dikdörtgenlerden herhangi birinin sınırları içinde olup olmadığını kontrol etmektir. .

Diğer adamların dediği gibi; D-Pad'i dokunmatik ekrana uygulamadan önce iki kez düşünün. Öte yandan, bu GBA emülatörlerini tüm gün boyunca iPhone'larında oynayan insanlar gördüm.

Bu size bağlı ... Simüle edilmiş bir D-Pad'i içeren ne yapmayı planladığınızı söyleyebilir misiniz?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.