Скоро напишу урок по двигу, совсем еще толком не знаю про что там буду писать, но буду писать =)) что нить на ходу придумаю, так что в ближайшее время ждите что нить прикольное
Понравилась публикация? Сохраните ее, чтобы вернуться к изучению материала!
сейчас вот сидел думал про что написать и вспомнил про тутор на хабре, сейчас вот изучу его потом еще почитаю и напишу урок про менеджер состояний и менеджер процессов, ну и если не лень будет то и еще класс приложения, в основном вся идея будет взята с хабра, но только немного по другому представлена, естественно код будет другим, ну и постараюсь все по максимуму объяснить, думаю что не очень скоро будет урок =( так как у меня самого в двиге нету этих классов, только сейчас задумался о них, а они нужны ну и конечно по тому что я себе гитару покупаю =)
это ты функции написал? Если да, то всё это можно засунуть в класс cWindow. Добавь простенький рендер. Считывание нажатых клавиш. Клавиши сделать так, как во многих играх с возможностью прикреплять к ним команды(бинд).
че?? я двиг переписываю, рендер добавить каждый сам сможет, я это писать не буду читай внимательнее, это все и лежит в классе, обработка нажатий на клавиши уже давно сделана, там вобщем то без класса и еще это не класс окна «прикреплять к ним команды» эээээээээ это еще что за бред?? if(KeyDown == W) { тут твоя команда } блин читай внимательнее, я просто спрашиваю какие еще методы засунуть столько проблем когда их совсем нету
Я вижу, ты не понял. Нужно сделать возможность биндить клавиши (присваивать клавише функцию). С помощью этого можно легко изменять настройки клавиатуры в игре через специальный пункт в меню или в конфигурационном файле, а может даже через консоль. Выполнить это можно создав класс клавиатуры: class cKey{ public: void KeyF1(); void KeySpase(); … }; extern cKey KeyDown; И где-то в другом файле описать что будет делать каждая клафиша: #include «cShutDown.h» cKey KeyDown; void KeyDown::KeyF1() { чтения функции из конфига } Конфиг может быть таким: key «spase» + player_up()
А если у тебя нажато 2 клавиши? или даже 3 и больше? Как их занести в переменную? Организовывать массив?)) Для этого придётся создавать переменную, которая будет хранить сколько клавиш нажато. Потом в цикле от 0 до k смотреть какая клавиша нажата… итд. По моему, это не самый лучший вариант ввода. Тем более он займёт много оперативной памяти и значительно понизит fps. А если делать так, как говорю я, то можно на прямую выполнять действия связные с той или иной клавишей.
?? делаешь так: нажал на клавишу, у тебя переменная приняла значение этой клавиши, жмешь другую не отпуская эту, тогда проверка идет, если у той переменной нажата клавиша (!=null) то тогда у тебя нажаты 2 клавиши
Гитару, молодца=)
Init
Run
Cursor
Fullscreen
SetCaption
CreateWindow
Shutdown
не знаю что еще засунуть
что можно было бы еще??
я двиг переписываю, рендер добавить каждый сам сможет, я это писать не буду
читай внимательнее, это все и лежит в классе, обработка нажатий на клавиши уже давно сделана, там вобщем то без класса
и еще это не класс окна
«прикреплять к ним команды»
эээээээээ
это еще что за бред??
if(KeyDown == W)
{
тут твоя команда
}
блин читай внимательнее, я просто спрашиваю какие еще методы засунуть
столько проблем когда их совсем нету
class cKey{
public:
void KeyF1();
void KeySpase();
…
};
extern cKey KeyDown;
И где-то в другом файле описать что будет делать каждая клафиша:
#include «cShutDown.h»
cKey KeyDown;
void KeyDown::KeyF1()
{
чтения функции из конфига
}
Конфиг может быть таким:
key «spase» + player_up()
зачем так усложнять?? тоже самое можно сделать в сто раз проще
но эт оч кратко
делаешь так:
нажал на клавишу, у тебя переменная приняла значение этой клавиши, жмешь другую не отпуская эту, тогда проверка идет, если у той переменной нажата клавиша (!=null) то тогда у тебя нажаты 2 клавиши
в чем проблема??
подписывайтесь