Контроль неотзывчивости / Задержка в игре двух игроков - PullRequest
1 голос
/ 03 марта 2020

Я новичок в pygame (и разработке игр в целом), но я строю простую игру для двух игроков, где два прямоугольника могут перемещаться по экрану на некоторых платформах. Я сопоставил игрока 1 с asdw и игрока 2 с клавишами со стрелками. Недавно я столкнулся с проблемой, когда управление кажется задержанным / не отвечающим. Я не совсем уверен, что является причиной ошибки, поэтому ее сложно проверить на ошибки. Вот некоторые вещи, которые я заметил:

  • Происходит только тогда, когда оба игрока двигаются

  • неотзывчивость возникает только при вызове прыжка. В противном случае два игрока могут двигаться в направлении оси x очень хорошо

  • Кажется, что игрок два задерживается больше, чем игрок первого

Мой единственный догадочный вывод Сейчас этот неэффективный код вызывает задержку, но я не совсем уверен. Там, кажется, не будет никакого замедления. Такое ощущение, что элементы управления мешают друг другу.

Я опубликую свой код, если кто-нибудь захочет взглянуть. Я полностью осознаю, что я не следовал многим стандартам кодирования, так как это то, что я начал без особого знания и постоянно опирался на него. Я также решил не использовать класс sprite, чтобы попытаться лучше понять этот материал сам.

Спасибо!

https://github.com/ChristianD37/basicGameStart (основной код игры находится в Movement_Test.py)

1 Ответ

0 голосов
/ 04 марта 2020

Cduen, это, вероятно, ваша клавиатура ... некоторые клавиатуры (и обычно беспроводные) позволяют одновременно нажимать только определенное количество клавиш, прежде чем другие перестают отвечать на запросы - это связано с тем, как они создаются с несколько клавиш в одном цикле

Из-за этого аппаратного ограничения приходится искать клавиатуры с 6KRO, 10KRO или NKRO ... с 6,10 или N, указывающими, сколько клавиш можно нажимать без «ореолов» , Большинство стандартных клавиатур настроены с несколькими клавишами в одной цепи для экономии средств, поэтому вы можете нажать только столько клавиш, чтобы они больше не могли вводить.

Я столкнулся с подобной проблемой с двумя Игрок, который я создал, и новая клавиатура NKRO решили проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...