Цитата:
|
что значит класс для работы с клавиатурой?
|
Кхм. Когда вы говорили "контроллер для работы с клавиатурой" я думал о MVC, но поняв, что это слабо вяжется с реальностью предположил что вы имели ввиду обычный класс, который удобно помогает работать с клавиатурой. Я не прав? Что хотите Вы?
А, класс, рассылающий события... Для игры... кхм. Здорово. Что имеем?
Подписываемся на 4 события, (влево-вправо-вверх-вниз), а то и на больше - не во всех играх 4 кнопки. 4 обработчика, ну ладно, так удобней, ок. Но мы заводим ради этого ещё один класс, который диспатчит событие... чтобы было удобней.
Считаем строчки кода:
4 подписка на событие.
4 описание заголовка методов
4 отписка от методов
12 строк кода.
Или если инлайново:
1 подписка
1 отписка
1 заголовок метода
4 ифа (или 8 кейсов+свич)
7-12 строк против 12. То есть, проще говоря, проще и дешевле по производительности писать код ЗАНОВО, чем использовать методы своего же класса. Это стоит того?
Теперь по вопросу зачем мне этот класс: всегда, когда нужно узнать, нажата ли клавиша в данный момент. Не очень важна, когда кнопка нажата одна, но если должна быть нажата комбинация 2 клавиш - класс отлично выручает.