Вниз  Java-программирование (1-ые посты)
- 18.12.2013 / 21:01
moDorks
  Пользователь

moDorks 
Сейчас: Offline
вот посмотрите
  1. package monstrik;
  2.  
  3. /*
  4.  * To change this template, choose Tools | Templates
  5.  * and open the template in the editor.
  6.  */
  7. //Пример класса, в котором при нажатии на клавиши перемещается спрайт
  8. //игра где собераеш еду уклоняясь от врагов!!!!!!!!!!!!!!!!!!!!!
  9. import javax.microedition.lcdui.*;
  10. import javax.microedition.lcdui.game.*;
  11. import java.util.Random;
  12.  
  13. public class MyGameCanvas extends GameCanvas implements Runnable{
  14. private Thread thread;
  15. private Sprite igrok;;
  16. private Sprite[] vragi;
  17. private Sprite eda;
  18. private Image vrag;
  19. private int igrokx,igroky;
  20. private int[] vragx;
  21. private int[] vragy;
  22. private int edax,eday;
  23. private int skore;
  24. private int live;
  25. private Random rand;
  26.  
  27. public MyGameCanvas(){
  28. super(true); //обязательный конструктор,который должен вызываться в игровом канвасе
  29. try{
  30. vrag = Image.createImage("/vrag.png");
  31. vragi[0] = new Sprite(vrag);
  32. vragi[1] = new Sprite(vrag);
  33. vragi[2] = new Sprite(vrag);
  34. eda = new Sprite(Image.createImage("/eda.png"));
  35. igrok=new Sprite(Image.createImage("/igrok.png"));
  36. igrokx=100;
  37. igroky=100;
  38. vragx[0]-=1;
  39. vragx[1]+=1;
  40. vragx[2]+=1;
  41. vragy[0]-=1;
  42. vragy[1]+=1;
  43. vragy[2]-=1;
  44. edax=rand.nextInt(getHeight());
  45. eday=rand.nextInt(getWidth());
  46. live = 3;
  47. }catch(Exception e){}
  48. thread=new Thread(this); //создаем тред
  49. thread.start();
  50. //запускаем тред
  51. }
  52.  
  53. public void run(){
  54. //вечный цикл
  55. while(true){
  56.  checkKey();//проверка нажатий клавиш в реальном времени
  57. draw(getGraphics());
  58. //прорисовка обьектов
  59. try{
  60. thread.sleep(100); //пауза
  61. }catch(Exception e){}
  62. }
  63. }
  64.  
  65. public void checkKey(){
  66. igrok.setPosition(igrokx, igroky);    
  67. int key=getKeyStates(); //получаем состояние клавиш в данный момент времени
  68. if (key==LEFT_PRESSED) igrokx-=3;
  69. if (key==RIGHT_PRESSED) igrokx+=3;
  70. if (key==UP_PRESSED) igroky-=3;
  71. if (key==DOWN_PRESSED) igroky+=3;
  72.  
  73. }
  74.  
  75. public void draw(Graphics g){
  76. g.setColor(255, 255, 0);
  77. g.fillRect(0, 0, getWidth(), getHeight());
  78. //вывод спрайта
  79. igrok.paint(g);
  80. //перерисовка
  81. flushGraphics();
  82. }
  83.  
  84.  
  85. }
мне кажетса со спрайтами что то
- 18.12.2013 / 22:34
Freddy
  Пользователь

Freddy 
Сейчас: Offline
moDorks, ты не инициализировал массивы
  1. vrag = Image.createImage("/vrag.png");
  2. //init array
  3. vragi = new Sprite[/*размер массива*/]
  4. //теперь можно заполнять массив
  5. vragi[0] = new Sprite(vrag);
С остальными массивами так же.
- 19.12.2013 / 06:00
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
moDorks,
1)Ты не создал массив спрайтов.
2)В методе draw у тебя прорисовывается только один спрайт игрока.
3)Обьект класса Sprite уже содержит переменные x и у, а также содержит методы перемещения на определенное количество пикселей, так что убери все ненужные переменные и код уменьшится минимум в два раза.

Изменено samodelkin (19.12 / 06:00) (всего 1 раз)
- 19.12.2013 / 17:15
moDorks
  Пользователь

moDorks 
Сейчас: Offline
samodelkin, я ведь до конца его не дописал я просто проверить хотел
- 19.12.2013 / 18:33
samodelkin
  Пользователь

samodelkin 
Сейчас: Offline
Ааа, ясно.
- 19.12.2013 / 19:32
Guim
  Пользователь

Guim 
Сейчас: Offline
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
  Пользователь

Its_Your_Soul 
Сейчас: Offline
- 19.12.2013 / 20:21
Naik
  Пользователь

Naik 
Сейчас: Offline
Guim, j2me wtk
- 19.12.2013 / 22:04
Its_Your_Soul
  Пользователь

Its_Your_Soul 
Сейчас: Offline
Кто знает в чем проблема .. Собираю прогу в j2me sdk mobile , ошибок походу нет т.к компилирует норм , но когда доходит до преверификаций пишет опять таки failed to write to file :-(
- 19.12.2013 / 22:20
Magatino
  Администратор

Magatino 
Сейчас: Offline
Its_Your_Soul (19.12.2013/22:04)
Кто знает в чем проблема .. Собираю прогу в j2me sdk mobile , ошибок походу нет т.к компилирует норм , но когда доходит до преверификаций пишет опять таки failed to write to file :-(
Код выкладывать полюбому надо :gg:
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)