Dokunmatik kontroller ve giriş yöntemini saptamak için bir metod

2
Published on 8 Nov, 2017. Last updated 25 Feb, 2019

Bu günlerde web'deki herkesin bir fare ve klavyeye sahip olduğunu varsaymak yanlış olur . Modern web de, Pek çok kişi artık dokunmatik ekranlı cihazlarla tarama yapıyor iPhone, iPad ve Android telefonlar gibi. Oyununuz yalnızca fare ve / veya klavye ile kontrol edilebiliyorsa, bu cihazlardaki kullanıcılar oyununuzu oynayamaz!

Bununla birlikte, ekranda dokunmatik kontrollere sahip olmak kolaydır - ayrıca kullanıcının dokunmatik ekranlı bir cihaz olup olmadığını tespit etmek için akıllıca ve basit bir yöntem var.

Dokunmatik fare (mouse) girişi

Her şeyden önce, özellikle dokunmatik ekranlı cihazlar için bir oyun tasarlarsanız veya oyununuz yalnızca fare tıklamaları kullanıyorsa, Touch nesnesini (Objesini) kullanın. Fare girişi (mouse input) özelliğini Evet (yes) olarak ayarlayın (varsayılan olarak Hayır 'dır). Açıkçası tek tuşla girişi (single-touch input) yalnızca fare tıklamaları ile simüle edebilirsiniz; sol düğmeyi basılı tutmanın, dokunuşu temsil etmesi ve serbest bırakılması temas etmemektir. Dolayısıyla tıklama ve sürükleme, dokunarak bir hızlıca kaydırma işlemini temsil eder.

Kolayca hem kendi başına hem de basit oyunlarda fare ve dokunmatik girdilere izin verir.

Dokunmatik Ekran Kontrolleri

Diğer birçok oyun ve kontroller için ekran düğmeleri gereklidir. Bunlar, Sprite nesneleri (objeleri) ile yapılabilir.

Öncelikle, daha önce yoksa, kaydırılmaz bir katman yapın (Level i (seviye) kaydırırken düğmelerin ekranın dışına çıkmasını istemeyin!). Yeni bir katman ekleyin ve Parallax0, 0 olarak ayarlayın. Bu, o katmandaki nesnelerin kaydırılmasını önler; bunlar daima ekranda aynı yerde görünürler.

Şimdi, katmanın seçili olduğundan emin olun. Layout görünümünün sol üst köşesindeki noktalı dış çizgi, pencerenin boyutunu gösterir. Dokunmatik ekran kontrollerinizi temsil eden bazı Sprite'leri pencere alanında bir yere ekleyin. Pencerenin sağ alt köşesindeki ekrandaki ok tuşlarına bir örnek aşağıda gösterilmiştir.

Büyük düğmelerin dokunulmasının daha kolay olduğunu unutmayın! Ayrıca, dokunmayı daha kolay hale getirmek için çarpışma (collision) poligon alanlarını biraz daha büyük yapın ve böylece görüntü düzenleyicisinde ince ayar yapmak isteyebilirsiniz.

Şimdi, Dokunmatik nesnenin (objenin) Is touching object' eylemleri'ni kullanarak davranışın Simulate control eylemini çağırmak için kullanabilirsiniz:

Artık ekranda her zaman pencerede aynı yerde duran kontrolleriniz var ve oyunu kontrol edebiliyor.

Oyununuz basit sol-sağ kontrolleri kullanıyorsa, kullanıcının ekranın sol tarafına mı yoksa sağ tarafına mı dokunduğunu tespit etmek için büyük görünmez sprite'ler gibi varyasyonlar kullanabilirsiniz. Unutmayın, dokunabilecekleri alan ne kadar büyük olursa, oyunu kontrol etmek de o kadar kolaydır.

Alternatif dokunmatik kontroller

Dokunmatik ekranlı cihazlarda oyunları kontrol etmenin birçok yolu var. Ekran üstü kontrollere sahip olmanız gerekmez ve bazen alternatifler daha kolay ve daha eğlencelidir. İşte iki başka öneri:

1. Ekran üstü ok tuşlarına sahip olmak yerine, onları hareket ettirmek için oyuncunun etrafına dokunun. Örneğin, Uzay Blaster'da, uzay gemisi şu anda dokunduğunuz yere taşınabilir. Ekrandaki diğer düğmeler daha sonra roket atma gibi alternatif eylemler verebilir.

2. Hareketi kontrol etmek için cihaz ivme ölçerini (device accelerometer) kullanın. Touch nesnesinde bunları Alpha , Beta ve Gamma ifadeleri olarak alabilirsiniz. Bu, cihazın farklı eksenler boyunca eğilmesini saptamanıza olanak tanır ve böylece bazı hareketler sağlanabilir.

Son olarak, denetimlerin dokunmatik aygıtlar için daha kolay olmasını isteyebilirsiniz. Dokunmatik kontroller bir klavye ve fare kullanmaktan daha zor olabilir, bu nedenle kontrolleri basitleştirmek oyunu daha eğlenceli hale getirebilir. Örneğin, oyuncu en çok Space Blaster'da ana lazeri ateşlemek için boşluk çubuğunu basılı tutuyor. Düşmanın ekrandayken otomatik olarak ateşlenmesini sağlamak için lazerin değiştirilmesi oyunu ayrı bir 'ateş' düğmesine basmaktan daha eğlenceli hale getirdi. Ayrıca biraz daha kolaylaştırıyor, fakat ana hedef mutlaka eğlenceli hale getirmek ve kontrol etmek için sinir bozucu değil!

Giriş (Input) yöntemini algılama

Artık ekranda dokunmatik kontrolleriniz var. Kullanıcı masaüstü bir bilgisayarda fare ve klavye kullanıyorsa ne olur? Bu durumda büyük ekran düğmeleri gösteren bir nokta yok. Neyse ki, kullanıcının dokunmatik girişi kullanıp kullanmadığını saptamanın gerçekten basit bir yolu var: bir başlık ekranına (title screen) sahip olun.

Gerçekten çok basit. Başlık ekranında Devam etmek için herhangi bir tuşa basın gibi bir mesajınız var Klavye'nin Herhangi bir tuşuna basıldığında veya Fare'nin Herhangi bir tıklamasıyla etkinliği başlık ekranında patlarsa, kullanıcının masaüstü bilgisayar da biliyorsunuzdur. Dokunmatik ekranın Dokunmatik Başlat etkinliği etkinleşirse, kullanıcının dokunmatik ekranlı bir aygıtta olduğunu biliyorsunuzdur. Ardından, kullanıcının dokunmatik ekran üzerinde olup olmadığını ve ilk seviyeye geçmesini belirten genel bir değişken (global variable) ayarlayabilirsiniz. Genel değişken (global variable) ayarlanmışsa ekran üzerindeki dokunmatik kontrolleri gösterin; Aksi halde onları görünmez yapın. Doğru kumanda sistemini otomatik olarak kullanacaksınız ve kullanıcının herhangi bir şey yapması gerekmiyor!

Hepsi bu kadar!

Daha fazla bilgi

Dokunmatik ekranlı cihazlarda genellikle farklı ekran boyutları vardır; bu nedenle

Birden fazla ekran boyutunu destekleme konusunu okumak isteyebilirsiniz.

Mobil cihazlarda ve tabletlerde test yapmak çok daha kolay previewing on a local network.

  • 0 Comments

Want to leave a comment? Login or Register an account!