Полезные коды | Комментарии
Dimon638 off
Koenig, ну не хочу я форматирование сделать как в Java, уж очень оно мне НЕ нравится :-D
Koenig off
Магистр Мёда
Dimon638, ну да. Ещё все же форматирование поправь. Раньше я вообще все в одну строчку писал без отступа
Askalite off
Тогда можно так, если битовые операции не нужны. Правда число 30 можно заменить на каккю-нибудь константу. События могут быть не только нажатия клавиш, но и MUSIC_STOP, или NEW_MESSAGE, или тригер какой-нибудь.
Askalite off
  1. int[] events=new int[30];
  2. int[] type_e=new int[30];
  3. int p=0;
  4. public static final int NULL=0, RLS=1, PRSD=2;
  5. public void keyPressed(int key){addEvent(key, PRSD);}
  6. public void keyReleased(int key){addEvent(key, RLS);}
  7. void addEvent(int key, int type){
  8.     if(p<30){events[p]=key;type_e[p]=type;p++;}
  9. }
  10. int popEvent(){
  11.     if(p<0)return 0; return events[p--];
  12. }
  13. int getEventType(){
  14.     if(p<0&&p>=30)return NULL; return type_e[p+1];
  15. }
SeTSeR off
RblSb, их применение чаще всего оправдано во всяких низкоуровневых вещах, типа оптимизации прошитого дерева
RblSb off
SeTSeR, в их использовании без необходимости и усложнении кода. Но если ты в уме можешь их выполнять так же просто, как логические, то круто. Вообще, в сети почему-то проблематично найти описание применения их на практике, каким-нибудь абстрактным классом, везде только бесполезные основы без намеков на применение (может быть это и не случайно).
Dimon638 off
Цитата Koenig:
Добавить в метод флаг зажал или отпустил. И инвестировать буль
Типа так, как я щас сделал в коде?
Да и правда так код стал лучше - без повторений кода :)
SeTSeR off
RblSb, что плохого в битовых операциях?
Dimon638 off
RblSb, position как я понял - это позиция по которой записывается нажатая клавиша в массив, допустим если мы нажали несколько клавиш, то каждая клавиша запишется "правее" предыдущей (ну тут зависит от того как смотреть на массив), благодаря как раз смещению position, но сброса и вправду я тоже не заметил, так что это и вправду работать не должно :-D
Ну это и неудивительно, этот код просто был быстренько набросан без тестирования)
RblSb off
Dimon638, там в id клавиши засунуто ее состояние, что увеличивает размер в два раза. Но long тут наверняка не нужен. Кстати, не знаю что делает position, но он не сбрасывается, так что после 30 нажатий все перестанет работать. И перестаньте писать код с битовыми операциями...
Всего: 69
<< 1 2 3 4 5 ... 7 >>

Мы в соцсетях

vk tw tg yt

Пожертвования

Аноним2850 р.
Freddy1700 р.
riseremi1611 р.
NaruTrey800 р.
vlavolk637 р.