18.12.2013 / 21:01 | |
moDorks Пользователь Сейчас: Offline
Имя: moDorks Регистрация: 04.05.2013
| вот посмотрите package monstrik;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
//Пример класса, в котором при нажатии на клавиши перемещается спрайт
//игра где собераеш еду уклоняясь от врагов!!!!!!!!!!!!!!!!!!!!!
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import java.util.Random;
public class MyGameCanvas extends GameCanvas implements Runnable{
private Thread thread;
private Sprite igrok;;
private Sprite[] vragi;
private Sprite eda;
private Image vrag;
private int igrokx,igroky;
private int[] vragx;
private int[] vragy;
private int edax,eday;
private int skore;
private int live;
private Random rand;
public MyGameCanvas(){
super(true); //обязательный конструктор,который должен вызываться в игровом канвасе
try{
vrag = Image.createImage("/vrag.png");
vragi[0] = new Sprite(vrag);
vragi[1] = new Sprite(vrag);
vragi[2] = new Sprite(vrag);
eda = new Sprite(Image.createImage("/eda.png"));
igrok=new Sprite(Image.createImage("/igrok.png"));
igrokx=100;
igroky=100;
vragx[0]-=1;
vragx[1]+=1;
vragx[2]+=1;
vragy[0]-=1;
vragy[1]+=1;
vragy[2]-=1;
edax=rand.nextInt(getHeight());
eday=rand.nextInt(getWidth());
live = 3;
}catch(Exception e){}
thread=new Thread(this); //создаем тред
thread.start();
//запускаем тред
}
public void run(){
//вечный цикл
while(true){
checkKey();//проверка нажатий клавиш в реальном времени
draw(getGraphics());
//прорисовка обьектов
try{
thread.sleep(100); //пауза
}catch(Exception e){}
}
}
public void checkKey(){
igrok.setPosition(igrokx, igroky);
int key=getKeyStates(); //получаем состояние клавиш в данный момент времени
if (key==LEFT_PRESSED) igrokx-=3;
if (key==RIGHT_PRESSED) igrokx+=3;
if (key==UP_PRESSED) igroky-=3;
if (key==DOWN_PRESSED) igroky+=3;
}
public void draw(Graphics g){
g.setColor(255, 255, 0);
g.fillRect(0, 0, getWidth(), getHeight());
//вывод спрайта
igrok.paint(g);
//перерисовка
flushGraphics();
}
}
мне кажетса со спрайтами что то |
18.12.2013 / 22:34 | |
Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| moDorks, ты не инициализировал массивы vrag = Image.createImage("/vrag.png");
//init array
vragi = new Sprite[/*размер массива*/]
//теперь можно заполнять массив
vragi[0] = new Sprite(vrag);
С остальными массивами так же. |
19.12.2013 / 06:00 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| moDorks, 1)Ты не создал массив спрайтов. 2)В методе draw у тебя прорисовывается только один спрайт игрока. 3)Обьект класса Sprite уже содержит переменные x и у, а также содержит методы перемещения на определенное количество пикселей, так что убери все ненужные переменные и код уменьшится минимум в два раза.
Изменено samodelkin (19.12 / 06:00) (всего 1 раз) |
19.12.2013 / 17:15 | |
moDorks Пользователь Сейчас: Offline
Имя: moDorks Регистрация: 04.05.2013
| samodelkin, я ведь до конца его не дописал я просто проверить хотел
|
19.12.2013 / 18:33 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Ааа, ясно.
|
19.12.2013 / 19:32 | |
Guim Пользователь Сейчас: Offline
Имя: Guim Регистрация: 09.03.2012
| Podskajite samii lightweight IDE dlya windows, skachal kakoito tIDE (2.8mb) no ona dlya j2se kak ya ponyal, a mne nujno dlya j2me.
Изменено Guim (19.12 / 19:33) (всего 1 раз) |
19.12.2013 / 19:46 | |
Its_Your_Soul Пользователь Сейчас: Offline
Имя: Саша Откуда: Винница Регистрация: 29.08.2012
| |
19.12.2013 / 20:21 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Guim, j2me wtk
|
19.12.2013 / 22:04 | |
Its_Your_Soul Пользователь Сейчас: Offline
Имя: Саша Откуда: Винница Регистрация: 29.08.2012
| Кто знает в чем проблема .. Собираю прогу в j2me sdk mobile , ошибок походу нет т.к компилирует норм , но когда доходит до преверификаций пишет опять таки failed to write to file |