12.10.2014 / 20:48 | |
RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Dimon638, бейсик и паскаль не будет заставлять тебя создавать поток только ради того чтобы можно было делать паузу экрана, создавать обязательные процедуры для обработки клавиш и отрисовки. Я хочу сам решать, где получить информацию о нажатых клавишах, где перерисовать экран или сделать задержку после отрисовки. Мне не нужны системные бесконечные циклы, из которых хрен выйдешь, я умею делать свои и ими пользоваться. Сколько костылей и пустых обязательных методов мне еще оставить, чтобы язык оставил меня в покое?
|
12.10.2014 / 20:54 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| RblSb, ты просто не знаешь, как в бейсике всё реализовано. Там ещё хуже, просто скрыто от твоих глаз.
__________________
let live |
12.10.2014 / 20:56 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| RblSb, import
javax.microedition.lcdui.*;
import java.io.*;
public class L extends Canvas implements Runnable
{
private volatile Thread T;
final int rectWidth=50;
final int rectHeight=65;
int w,h;
int k;
int x,y;
boolean pause,rn;
public L()
{
setFullScreenMode(true);
w=getWidth();
h=getHeight();
x=w/2-rectWidth/2;
y=h/2-rectHeight/2;
rn=true;
pause=false;
T=new Thread(this);
T.start();
}
public void run()
{
try
{
while(rn)
{
if (!pause)
gameKeys();
repaint();
Thread.sleep(1);
}
}
catch(InterruptedException iex)
{
System.out.println(iex.toString());
}
}
protected void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0,0,w,h);
if (!pause)
game(g);
else pauseDraw(g);
}
private void gameKeys()
{
if (k==52)
x--;
else if (k==54)
x++;
else if (k==56)
y++;
else if (k==50)
y--;
}
private void game(Graphics g)
{
g.setColor(0xff9100);
g.fillRect(x,y,rectWidth,rectHeight);
}
private void pauseDraw(Graphics g)
{
g.setColor(0xffffff);
g.drawString("Pause",w/2,0,16|1);
}
protected void keyPressed(int key)
{
k=key;
if (k==53||k==-5)
pause=(!pause)?true:false;
}
protected void keyReleased(int key)
{
k=0;
}
}
Изменено Magatino (12.10 / 21:12) (всего 1 раз) |
12.10.2014 / 20:58 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Magatino, ух, вот это выложил. Стиль ладно, дань новой версии андроида в названии класса тоже ладно, но что вот это? pause=(!pause)?pause:!pause;
__________________
let live Изменено aNNiMON (12.10 / 20:59) (всего 1 раз) |
12.10.2014 / 21:18 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Magatino, pause = !pause; ? |
12.10.2014 / 21:18 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| |
12.10.2014 / 21:20 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Magatino, но ведь pause = !pause можно |
12.10.2014 / 22:07 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Magatino, что-то ты перемудрил. pause = !pause эквивалентно pause = (!pause) ? true : false.
__________________
let live |
13.10.2014 / 00:14 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| aNNiMON (12.10.2014/22:07) Magatino, что-то ты перемудрил. pause = !pause эквивалентно pause = (!pause) ? true : false.А теперь понял о чём ввёл речь Naik На днях я никак не мог вспомнить как получить остаток, да и бывали времена я и такое писал: pause=(pause)?false:(!pause)?true:true;
так что норм |