Если я правильно понял то что тебе нужно, то надо создать в классе список указателей на объекты к которым ты собираешься посылать запросы (т.е. вызывать методы этих объектов). Этот список делают динамическим, т.е. по мере жизни объекта класса в него добавляются соответствующие указатели.
Сообщение отредактировал Matou - Среда, 06 Июня 2012, 16:10
При такой системе все логично: нажимаю jump -> result = 1, down - 2 (к примеру). jump + down -> result = 3. Если на это значение нет действия, то ничего не произойдет. Когда отпускаю какую-нибудь из них, result становится 1или 2, имеет определенные действия на эти значения и они выполняются.
Теперь понятно что ты имеешь в виду. Ну это не проблема, можно например доопределить такие вот проблемные сочетания клавиш.
сначала определяешь действия, для каждого действия по одному биту
const int ACTION1 = 0x0001; // 00000001 const int ACTION2 = 0x0002; // 00000010 const int ACTION3 = 0x0004; // 00000100 const int ACTION4 = 0x0008; // 00001000 const int ACIOTN5 = 0x0010; // 00010000 const int ACTION6 = 0x0020; // 00100000 ...
потом делаешь логическое сложение для каждой нажатой клавиши
int result = 0;
if(ACTION1) result |= ACTION1; if(ACTION2) result |= ACTION2; ...
Затем проверяешь комбинации, на примере ifa:
if(result == ACTION1 | ACTION2) then ...
ну и т.д.
Вообще это самые основы, написал кратко, надеюсь достаточно понятно, почитай про системы счисления, манипуляцию с битами и битовые маски, так же почитай про форму представления целых чисел в памяти компьютера. Это все очень базовые вещи без них никуда.
Для того чтобы это свешилость, анимацию этих действий сначала необходимо нарисовать. Некоторые программисты имеют свой редактор, другие портируют из стандартных редакторов.
А третьи, ничего этого не умеют. Что тоже приемлемо, например, в гонках, где все обекты жесткой и неизменной формы, включая сами машины.
Так вот, заработную плату 70 000 рублей мы готовы платить тому, кто именно умеет переносить анимацию из редактора в им написанную игру. Других мы тоже готовы взять на работу, но она будет меньше стоить.
Анимация - это самые основы игрового программирования, если программист этого не может, то вряд ли он еще что-то может.
Quote (DragonSoft)
Жуткий ужасный монстр в компьютерной игре воздевает руки к небу и издаёт вопль.
В том что надо не складывать а делать побитовое логическое сложение, потом анализировать биты. Складывая и проверяя сумму можно получить тот же результат, но манипуляция с битами проще для понимания.
Можно сделать переменную которая будет хранить номер комбинации, а при считывании нажатия клавиш будет складываться общее значение в переменную, по нему можно будет определить какая комбинация будет выполнена. После выполнения сбрасывать переменную и считывать заново. Сам еще не пробовал так сделать, излагаю свои мысли, если пригодиться буду рад.
Это называется флаги, делается немного по другому.