Як уникнути примари при натисканні декількох клавіш?


15

Я працюю над комп'ютерною грою 2d з прокруткою, яка використовує бібліотеку ігор SFML. Проблема, яку я не в змозі вирішити, полягає в тому, що на багатьох клавіатурах комбінація трьох або більше клавіш (наприклад, w + d + k) не працює. Чи є спосіб вирішити це питання?


1
У мене ніколи не було клавіатури, де W + D + K спричинило б за собою привид. Ви впевнені, що ви бачите привид, а не обмежена кількість одночасних входів на вашій клавіатурі?
Логарр

@Logarr « ореоли » проблема , що деякі клавіші клавіатури не працюють , коли кілька клавіш натиснуті одночасно. Як стверджується, що натискання клавіш, які не з’являються на комп’ютері або ніби зникли, були "примарними".
Cees Timmerman

@CeesTimmerman - Я точно знаю, що таке привид. Що я говорю, що оскільки W + D + K не утворюють перехрестя, у мене ніколи не було клавіатури, яка була спроектована таким чином, що мав цю комбіновану манеру.
Логарр

@Logarr Тоді обмеження буде в програмному забезпеченні OP, а не в клавіатурі чи його драйвері. Також не всі клавіатури однакові.
Cees Timmerman

Відповіді:


29

Ви не можете. Принаймні, не як розробник ігор.

Як геймер, ви можете придбати дорожчі клавіатури з функціями "анти-пристріту", але в іншому випадку обмеження є частиною самого обладнання, тому нічого не можна зробити в програмному забезпеченні для його вирішення.

Перегляньте цю демонстраційну сторінку, щоб побачити, як працює привид клавіатури, а також демонстрацію: https://web.archive.org/web/20150429053827/http://www.microsoft.com/appliedsciences/antighostingexplained.mspx

Тож ваші найкращі ставки:

  • Не використовуйте схему управління, яка вимагає занадто багато одночасних натискань клавіш
  • Використовуйте ігрові накладки, якщо вони доступні
  • Нехай гравець перекомпонує ключі, щоб вони могли знайти набір ключів для свого обладнання
  • Якщо потрібно, дотримуйтесь лівої сторони клавіатури (навколо WASD), оскільки клавіатури, як правило, не уникають привидів

Історично склалося, що багато комп'ютерних ігор використовуються клавіші - модифікатори ( Ctrl, Alt, Shift) як частина їх управління , тому що ці ключі були підключені для обробки туляться один до одного з іншими клавішами, щоб уникнути ореолів. Така практика впала в немилість протягом 90-х, оскільки клавіші-модифікатори все більше використовували ОС, що заважало б грі.

Пізніше певні жанри ігор мали керувати своїми елементами управління навколо ключових кластерів, особливо жанр FPS навколо WASD+ миша, але іншим прикладом можуть бути японські ігри з Інді навколо ZXC+ стрілки. Оскільки в більшості ігор використовуються ці кластери, виробники клавіатур також переконалися, що пристріт буде мінімізований навколо цієї області, тому, якщо ви будете дотримуватися тих же елементів управління, які використовують інші популярні ігри, ви також уникнете привидів.

Дивлячись на ваш приклад, Wі Dдобре, але Kце не так; Ви випадково використовуєте Kяк керований контроль? Якщо так, подумайте про використання клавіш зі стрілками.


2
Ваша відповідь починається з "Ви не можете", але потім ви даєте гарну пораду, як саме цього уникнути. Я думаю, що правильна відповідь тут - "вибрати клавіші управління, які не мають проблеми з привидами на більшості клавіатур". Тут хороша інформація.
JPhi1618

1
@ JPhi1618 Я думаю, що є різниця між "ось як уникнути привидів" і "ось як боротися з тим, що у більшості клавіатур є клавіатури, які привид"
undergroundmonorail

3

Купіть кращу клавіатуру.

Привид викликається самим обладнанням. Навіть у багатьох ігрових клавіатур все ж буде проблема; вони інвестують лише у виправлення проблеми для "загальних" клавіш, таких як WASD (але не "K", наприклад).

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


8
... і скажіть усім своїм клієнтам також придбати кращі клавіатури? Це не виглядає як найбільш зручне рішення.
Філіпп

Життя важке. Примушуйте своїх клієнтів купувати краще обладнання або не розробляти ігри, які суттєво розбиті на товарних клавіатурах. Це не зовсім ракетна наука. :)
Шон Міддліч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.