Birden fazla tuşa basarken gölgelenme nasıl önlenir?


15

SFML oyun kütüphanesi kullanan bir 2d yan kaydırma pc oyunu üzerinde çalışıyorum. Çözemediğim sorun, birçok klavyede üç veya daha fazla tuşun birleşimi (w + d + k gibi) çalışmıyor. Bu sorunu çözmenin bir yolu var mı?


1
W + D + K'nin gölgelenme sorununa neden olacağı bir klavyem yoktu. Gördüğünüz şeyin klavyenizde sınırlı sayıda eşzamanlı giriş değil, gölgelenme olduğundan emin misiniz?
Logarr

@Logarr " Gölgelenme ", aynı anda birden fazla tuşa basıldığında bazı klavye tuşlarının çalışmaması sorunudur. Bilgisayarda görünmeyen veya kaybolmuş gibi görünen tuşa basma işlemlerinin "hayalet" olduğu söylenir.
Cees Timmerman

@CeesTimmerman - Gölgelenmenin tam olarak ne olduğunu biliyorum. Diyorum ki, W + D + K bir kavşak oluşturmadığı için, asla bu hayalet kombinasyonuna sahip bir şekilde tasarlanmış bir klavyeye sahip olmadım.
Logarr

@Logarr O zaman sınır, klavye veya sürücüsünde değil OP'nin yazılımında olacaktır. Ayrıca, tüm klavyeler aynı değildir.
Cees Timmerman

Yanıtlar:


29

Yapamazsın. En azından bir oyun geliştiricisi olarak değil.

Bir oyuncu olarak, "anti-gölgelenme" özellikleri ile daha pahalı klavyeler satın alabilirsiniz, ancak aksi takdirde sınırlama donanımın kendisinin bir parçasıdır, bu yüzden bunu çözmek için yazılımda yapabileceğiniz hiçbir şey yoktur.

Klavye gölgelenmesinin nasıl çalıştığını ve bir demoyu görmek için bu demo sayfasına göz atın: https://web.archive.org/web/20150429053827/http://www.microsoft.com/appliedsciences/antighostingexplained.mspx

Yani en iyi bahisleriniz:

  • Aynı anda çok fazla tuşa basmayı gerektiren bir kontrol şeması kullanmayın
  • Varsa oyun pedlerini kullanın
  • Oyuncunun donanımları için gölgelenmeyen bir anahtar kümesi bulabilmesi için anahtarları yeniden düzenlemesine izin verin
  • Gerekirse, klavyenin sol tarafına (etrafında WASD) yapışır, çünkü klavyeler burada gölgelenmeyi önleme eğilimindedir

Tarihsel olarak, birçok PC oyunları (değiştirici tuşları kullanılır Ctrl, Alt,Shift , denetleyicilerinin bir parçası olarak ) çünkü bu tuşlar gölgelenmeyi önlemek için diğer tuşlarla birlikte basılmak üzere kablolanmıştı. 90'lı yıllarda bu uygulama bir tür lehine düştü, çünkü değiştirici tuşlar OS tarafından daha fazla kullanılıyordu ve bu da oyuna müdahale edecekti.

Daha sonra, bazı oyun türlerinin kontrolleri kilit kümeler etrafında birleşti, en önemlisi FPS türü WASD+ fare etrafındaydı , ancak başka bir örnek ZXC+ oklar etrafında Japon indie oyunları olurdu . Kendini gerçekleştiren bir şekilde, çoğu oyun bu kümeleri kullandığından, klavye üreticileri de bu alanda gölgelenmenin en aza indirildiğinden emin oldular, bu nedenle diğer popüler oyunların kullandığı denetimlere bağlı kalırsanız, gölgelenmeyi de önlersiniz.

Senin Örneğin baktığımızda, Wve Dince ama Kdeğil; KYön kontrol olarak kullanma şansınız var mı? Öyleyse, bunun yerine ok tuşlarını kullanmayı düşünün.


2
Cevabınız "Yapamazsınız" ile başlar, ancak tam olarak nasıl önleneceği konusunda iyi tavsiyeler verirsiniz. Bence burada doğru cevap "çoğu klavyede gölgelenme sorunu olmayan kontrol tuşlarını seç". Burada iyi bilgi.
JPhi1618

1
@ JPhi1618 "gölgelenmeyi önlemek için nasıl" ve "çoğu klavyenin hayalet olan klavyelere sahip olması" ile nasıl başa çıkılacağı arasında bir fark olduğunu düşünüyorum
undergroundmonorail

3

Daha iyi bir klavye satın alın.

Gölgelenme, donanımın kendisinden kaynaklanır. Birçok oyun klavyesinde bile bu sorun devam edecektir; sorunu yalnızca WASD gibi "ortak" anahtarlar için çözmeye yatırım yaparlar (örneğin "K" değil).

http://www.microsoft.com/appliedsciences/antighostingexplained.mspx


8
... ve tüm müşterilerinize daha iyi klavye satın almalarını mı söylersiniz? Bu en kullanıcı dostu çözüm gibi görünmüyor.
Philipp

Hayat zor. Müşterilerinizi daha iyi donanım satın almaya zorlayın veya emtia klavyelerinde kendiliğinden kırılan oyunlar tasarlamayın. Bu tam olarak roket bilimi değil. :)
Sean Middleditch
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.