Jak uniknąć zjawy przy naciskaniu wielu klawiszy?


15

Pracuję nad 2d przewijaną bocznie grą na PC, która korzysta z biblioteki gier SFML. Problem, którego nie jestem w stanie rozwiązać, polega na tym, że w wielu klawiaturach kombinacja trzech lub więcej klawiszy (jak w + d + k) nie działa. Czy jest jakiś sposób na rozwiązanie tego problemu?


1
Nigdy nie miałem klawiatury, w której W + D + K spowodowałoby problem z widmem. Czy jesteś pewien, że to, co widzisz, to duchy, a nie ograniczona liczba jednoczesnych sygnałów na klawiaturze?
Logarr

@Logarr „ duszki ” jest problem, że niektóre klawisze klawiatury nie działają po naciśnięciu kilku klawiszy jednocześnie. Naciśnięcia klawiszy, które nie pojawiają się na komputerze lub wydają się znikać, są uważane za „zjawy”.
Cees Timmerman

@CeesTimmerman - Wiem dokładnie, czym jest ghosting. Mówię o tym, że ponieważ W + D + K nie tworzą skrzyżowania, nigdy nie miałem klawiatury, która byłaby zaprojektowana w sposób, który miałby tę kombinację ducha.
Logarr

@Logarr Wówczas limit byłby w oprogramowaniu OP, a nie w klawiaturze lub sterowniku. Ponadto nie wszystkie klawiatury są takie same.
Cees Timmerman

Odpowiedzi:


28

Nie możesz Przynajmniej nie jako twórca gier.

Jako gracz możesz kupić droższe klawiatury z funkcjami „anti-ghosting”, ale w przeciwnym razie ograniczenie jest częścią samego sprzętu, więc nie możesz nic zrobić w oprogramowaniu, aby to rozwiązać.

Sprawdź tę stronę demonstracyjną, aby zobaczyć, jak działa ghosting klawiatury, a także wersję demonstracyjną: http://www.microsoft.com/appliedsciences/antighostingexplained.mspx

Więc twoje najlepsze zakłady to:

  • Nie używaj schematu sterowania, który wymaga zbyt wielu jednoczesnych naciśnięć klawiszy
  • Użyj padów, jeśli są dostępne
  • Pozwól graczowi ponownie przypisać klucze, aby mogli znaleźć zestaw kluczy nie powodujących zjawy dla ich sprzętu
  • Jeśli musisz, trzymaj się lewej strony klawiatury (wokół WASD), ponieważ klawiatury zwykle unikają tu zjawy

Historycznie rzecz biorąc, wiele gier PC używane klawisze modyfikatorów ( Ctrl, Alt, Shift) jako część ich kontroli, ponieważ te klawisze były podłączone do obsługi wciśnięty jest razem z innymi klawiszami, aby uniknąć smug. Ta praktyka trochę przestała być przychylna w latach 90., ponieważ klawisze modyfikujące były coraz częściej używane przez system operacyjny, co zakłócało grę.

Później niektóre gatunki gier kontrolowały się wokół kluczowych klastrów, w szczególności gatunek FPS wokół WASDmyszy +, ale innym przykładem byłyby japońskie gry niezależne wokół ZXCstrzałek. W sposób samospełniający się, ponieważ większość gier korzystała z tych klastrów, producenci klawiatur upewnili się również, że ghosting został zminimalizowany w tym obszarze, więc jeśli będziesz trzymać się tych samych elementów sterujących, które używają inne popularne gry, unikniesz również ghostingu.

Patrząc na przykład, Wi Dsą w porządku, ale Knie jest; czy przypadkiem używasz Kjako kontroli kierunkowej? Jeśli tak, rozważ użycie klawiszy strzałek.


1
Twoja odpowiedź zaczyna się od „Nie możesz”, ale następnie dajesz dobrą radę, jak tego uniknąć. Myślę, że właściwą odpowiedzią jest tutaj: „wybierz klawisze sterujące, które nie mają problemu z duchem na większości klawiatur”. Dobra informacja tutaj.
JPhi1618,

@ JPhi1618 Myślę, że istnieje różnica między „tutaj, jak uniknąć duchów”, a „tutaj, jak sobie poradzić z faktem, że większość klawiatur ma klawiatury tego ducha”
undergroundmonorail

3

Kup lepszą klawiaturę.

Zjawy są spowodowane przez sam sprzęt. Nawet wiele klawiatur do gier nadal będzie miało ten problem; inwestują tylko w rozwiązanie problemu „wspólnych” kluczy, takich jak WASD (ale nie na przykład „K”).

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


6
... i powiedz wszystkim swoim klientom, aby kupowali także lepsze klawiatury? To nie brzmi jak najbardziej przyjazne dla użytkownika rozwiązanie.
Philipp

Życie jest trudne. Zmuszaj klientów do kupowania lepszego sprzętu lub nie projektuj gier, które są wewnętrznie zepsute na klawiaturach towarowych. To nie jest dokładnie nauka rakietowa. :)
Sean Middleditch
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.