Вниз  Java-программирование (1-ые посты)
- 12.10.2014 / 20:48
RblSb
  Пользователь

RblSb 
Сейчас: Offline
Dimon638, бейсик и паскаль не будет заставлять тебя создавать поток только ради того чтобы можно было делать паузу экрана, создавать обязательные процедуры для обработки клавиш и отрисовки. Я хочу сам решать, где получить информацию о нажатых клавишах, где перерисовать экран или сделать задержку после отрисовки. Мне не нужны системные бесконечные циклы, из которых хрен выйдешь, я умею делать свои и ими пользоваться. Сколько костылей и пустых обязательных методов мне еще оставить, чтобы язык оставил меня в покое?
- 12.10.2014 / 20:54
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
RblSb, ты просто не знаешь, как в бейсике всё реализовано. Там ещё хуже, просто скрыто от твоих глаз.
__________________
 let live
- 12.10.2014 / 20:56
Magatino
  Администратор

Magatino 
Сейчас: Offline
RblSb,
  1. import
  2. javax.microedition.lcdui.*;
  3. import java.io.*;
  4.  
  5. public class L extends Canvas implements Runnable
  6. {
  7.  
  8. private volatile Thread T;
  9.  
  10. final int rectWidth=50;
  11. final int rectHeight=65;
  12.  
  13. int w,h;
  14. int k;
  15. int x,y;
  16.  
  17. boolean pause,rn;
  18.  
  19. public L()
  20. {
  21. setFullScreenMode(true);
  22. w=getWidth();
  23. h=getHeight();
  24.  
  25. x=w/2-rectWidth/2;
  26. y=h/2-rectHeight/2;
  27.  
  28. rn=true;
  29. pause=false;
  30.  
  31. T=new Thread(this);
  32. T.start();
  33. }
  34.  
  35. public void run()
  36. {
  37. try
  38. {
  39. while(rn)
  40. {
  41.  
  42. if (!pause)
  43. gameKeys();
  44.  
  45. repaint();
  46.  
  47. Thread.sleep(1);
  48. }
  49. }
  50. catch(InterruptedException iex)
  51. {
  52. System.out.println(iex.toString());
  53. }
  54. }
  55.  
  56. protected void paint(Graphics g)
  57. {
  58. g.setColor(0);
  59. g.fillRect(0,0,w,h);
  60.  
  61. if (!pause)
  62. game(g);
  63. else pauseDraw(g);
  64. }
  65.  
  66. private void gameKeys()
  67. {
  68.  
  69. if (k==52)
  70. x--;
  71. else if (k==54)
  72. x++;
  73. else if (k==56)
  74. y++;
  75. else if (k==50)
  76. y--;
  77.  
  78. }
  79.  
  80. private void game(Graphics g)
  81. {
  82.  
  83. g.setColor(0xff9100);
  84. g.fillRect(x,y,rectWidth,rectHeight);
  85.  
  86. }
  87.  
  88. private void pauseDraw(Graphics g)
  89. {
  90.  
  91. g.setColor(0xffffff);
  92. g.drawString("Pause",w/2,0,16|1);
  93.  
  94. }
  95.  
  96. protected void keyPressed(int key)
  97. {
  98. k=key;
  99.  
  100. if (k==53||k==-5)
  101. pause=(!pause)?true:false;
  102.  
  103. }
  104.  
  105. protected void keyReleased(int key)
  106. {
  107. k=0;
  108. }
  109. }


Изменено Magatino (12.10 / 21:12) (всего 1 раз)
- 12.10.2014 / 20:58
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Magatino, ух, вот это выложил. :-D

Стиль ладно, дань новой версии андроида в названии класса тоже ладно, но что вот это? :-D
  1. pause=(!pause)?pause:!pause;

__________________
 let live

Изменено aNNiMON (12.10 / 20:59) (всего 1 раз)
- 12.10.2014 / 21:18
Naik
  Пользователь

Naik 
Сейчас: Offline
Magatino, pause = !pause; ? :gg:
- 12.10.2014 / 21:18
Magatino
  Администратор

Magatino 
Сейчас: Offline
aNNiMON (12.10.2014/20:58)
Magatino, ух, вот это выложил. :-D

Стиль ладно, дань новой версии андроида в названии класса тоже ладно, но что вот это? :-D
  pause=(!pause)?pause:!pause;
Исправил на pause=(!pause)?true:false; , у меня всегда есть готовые каркасы, там вообще всё укорочено :gy:
Конечно чисто для удобства копирования.
- 12.10.2014 / 21:20
Naik
  Пользователь

Naik 
Сейчас: Offline
Magatino, но ведь pause = !pause можно :gg:
- 12.10.2014 / 21:35
Magatino
  Администратор

Magatino 
Сейчас: Offline
Naik (12.10.2014/21:20)
Magatino, но ведь pause = !pause можно :gg:
Я знаю, в тот момент в pause = (!pause) ? pause : !pause; я посчитал pause как true, а на самом деле получилось pause = pause и поэтому код выполнялся ни как я хотел из-за своей невнимательности :gg:

Изменено Magatino (12.10 / 21:37) (всего 1 раз)
- 12.10.2014 / 22:07
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Magatino, что-то ты перемудрил. pause = !pause эквивалентно pause = (!pause) ? true : false.
__________________
 let live
- 13.10.2014 / 00:14
Magatino
  Администратор

Magatino 
Сейчас: Offline
aNNiMON (12.10.2014/22:07)
Magatino, что-то ты перемудрил. pause = !pause эквивалентно pause = (!pause) ? true : false.
А теперь понял о чём ввёл речь Naik :)

На днях я никак не мог вспомнить как получить остаток, да и бывали времена я и такое писал:
  1. pause=(pause)?false:(!pause)?true:true;
так что норм :maga:
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)