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

Favourite 271 favourites
Tutorial written by AshleyOriginally published on 22nd, December 2011 - 5 revisions

Translation Team:

4 total revisions

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.

Touch controls
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:

Touch control event
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.

Unlock your full gamedev potential

Upgrade to the Personal Edition of Construct 2, it has way more features and won't holding back from making money and using your full creativity like the free edition does. It's a one off payment and all Construct 2 editor updates are free for life!

View deals

Plus, it's got a lot of additional features that will help you save time and make more impressive games!

Congratulations on finishing this tutorial!

Did you learn a lot from it? Share it now with your friends!

Share and Copy this Tutorial

You are free to copy, distribute, transmit and adapt this work with correct attribution. Click for more info.

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.