Вниз  Java-программирование (1-ые посты)
- 25.12.2013 / 16:40
Naik
  Пользователь

Naik 
Сейчас: Offline
Наверное манипулируя координатами спрайтов :gg:
- 25.12.2013 / 22:32
moDorks
  Пользователь

moDorks 
Сейчас: Offline
можете помочь с тиледлауером мне надо вот ету картинку нарисовать вот так int[] p ={
1,1,1,1,1,
1,1,1,1,1,
2,2,2,2,2,
2,2,2,2,2
};

Изменено moDorks (25.12 / 22:33) (всего 1 раз)


Прикрепленные файлы:
60.png (18.63 кб.) Скачано 110 раз
- 25.12.2013 / 22:34
moDorks
  Пользователь

moDorks 
Сейчас: Offline
я делаю так
  1. import javax.microedition.lcdui.*;
  2. import javax.microedition.lcdui.game.*;
  3.  
  4. public class MyGameCanvas extends GameCanvas implements Runnable{
  5. private Thread thread;
  6. private Sprite Igrok;
  7. private Sprite veter;
  8. private Sprite voda;
  9. private LayerManager Lm;
  10. private TiledLayer tl;
  11.  
  12.  
  13. public MyGameCanvas(){
  14. super(true); //обязательный конструктор,который должен вызываться в игровом канвасе
  15. try{
  16. Igrok=new Sprite(Image.createImage("/Igrok.png"),50,60);
  17. veter=new Sprite(Image.createImage("/veter.png"));
  18. tl = new TiledLayer(1,2,Image.createImage("/60.png"),100,50);
  19. Lm =  new LayerManager();
  20. }catch(Exception e){}
  21.  //создаем тред
  22.  //запускаем тред
  23. }
  24. public void play(Display d) {
  25.         d.setCurrent(this);      
  26.         thread = new Thread(this);
  27.         thread.start();
  28. }
  29.  
  30. public void run(){
  31. //вечный цикл
  32. while(true){
  33. ZabegPole();
  34. Spritemove();    
  35. LayermaNager();
  36.  
  37. //проверка нажатий клавиш в реальном времени
  38. draw(getGraphics()); //прорисовка обьектов
  39. try{
  40. thread.sleep(100); //пауза
  41. }catch(Exception e){}
  42. }
  43. }
  44.  
  45. public void ZabegPole() {
  46. int[] p = {
  47. 1,1,1,1,1,1,
  48. 1,1,1,1,1,1,
  49. 2,2,2,2,2,2,
  50. 2,2,2,2,2,2      
  51. };
  52. for(int i=0; i<p.length; i++) {
  53.  
  54. tl.setCell(i % 4, i / 6, p[i]);
  55.  
  56. }
  57.  
  58. }
  59.  
  60. public void Spritemove(){
  61. Igrok.move(+3, 0);
  62. Igrok.nextFrame();
  63. }
  64. public void LayermaNager() {
  65. Lm.append(tl);
  66. Lm.append(Igrok);
  67. }
  68.  
  69. public void draw(Graphics g){
  70. //очистка экрана
  71. Lm.paint(g,0,0);
  72. //вывод спрайта
  73.  
  74.  
  75. //перерисовка
  76. flushGraphics();
  77. }
  78.  
  79.  
  80. }

вечно в нем путаюсь :-(
- 25.12.2013 / 22:39
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Там с setCell у тебя какая-то беда, помойму делить надо на высоту и ширину. горнакова глянь или в гугле javax.microedition.lcdui.Canvas выбираешь сайт оракла и смотришь, там примеры есть
__________________
 знает толк
- 25.12.2013 / 22:49
moDorks
  Пользователь

moDorks 
Сейчас: Offline
горнаков сложно у него запутано ладжно в оракле посмотрю
- 25.12.2013 / 23:00
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
Братан, извини, напутал. javax.microedition.lcdui.game.TiledLayer надо гуглить сейчас горнакова найду, посмотрю
__________________
 знает толк
- 25.12.2013 / 23:16
Magatino
  Администратор

Magatino 
Сейчас: Offline
moDorks, Поменяй местами i/6 i%4 , а не ничего не делай , вычисление не верное :gg:

Изменено Magatino (25.12 / 23:22) (всего 1 раз)
- 25.12.2013 / 23:26
Magatino
  Администратор

Magatino 
Сейчас: Offline
moDorks, Вот так надо :gg:
  1. int ww=6;
  2. int wh=4;
  3.  
  4. for (int j=0;j<wh;j++)
  5. for (int i=0;i<ww;i++)
  6. tl.setCell(j,i,p[j*ww+i]);

- 25.12.2013 / 23:32
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
txt.rushkolnik.ru/docs/index-4237.html?page=30
__________________
 знает толк
- 25.12.2013 / 23:36
moDorks
  Пользователь

moDorks 
Сейчас: Offline
вечно я не могу с этим тиледлауером разобратса спасибо за помошь....
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)