Java-программирование (1-ые посты)  17.12.2013 / 00:32 |  |  aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | Naik,  Никак. Но ты можешь задать g.translate(dx, dy) на нужную позицию. Работает почти также.
  __________________
   let live  |  
   17.12.2013 / 05:44 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | moDorks, вот сам класс(прикреплен в конце поста), создаешь обьект этого класса, передавая в конструктор необходимые параметры, с разницей лишь в том,что он принимает массив индексов и всю работу по заполнению карты делает за тебя, вот сам конструктор:   Map(int cols,int rows,Image image,int tileWidth,int tileHeight,int[] indexes)-конструктор,где indexes-массив индексов. В связи с тем что класс Map наследован от TiledLayer, то прорисовывать также через метод paint(g); вот пример:
  import java.io.*; import javax.microedition.lcdui.*;
  public class Canva extends Canvas{ private Map map; //карта private int[] indexes={ 0,0,0,0, 0,0,0,0}; //массив индексов
  public Canva(){ try{ map=new Map(4,2,Image.createImage("/tiles.png"),32,32,indexes); }catch(Exception e){} }
  public void paint(Graphics g){ map.paint(g); repaint(); }
  }
   Изменено samodelkin (17.12 / 05:49) (всего 4 раза)
 Прикрепленные файлы:   Map.java   (0.97 кб.) Скачано 613 раз   |  
   17.12.2013 / 05:59 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Naik, первоначально любой спрайт имеет опорный пиксель в левом верхнем углу, чтобы изменить опорный пиксель существует метод  defineReferencePixel(x,y) ,который позволяет определить опорный пиксель даже за границами слоя.
   Изменено samodelkin (17.12 / 06:02) (всего 2 раза) |  
   17.12.2013 / 09:20 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Скажите в чем причина того что неверно сохраняет метод "савеРекорд":
 
  import javax.microedition.lcdui.*; import java.io.*; import javax.microedition.rms.*; import java.util.Calendar;
  public class RecordCanvas extends Canvas{ private RecordStore rs;   private Image table;          public RecordCanvas(){      rs=null;          try{          table=Image.createImage("/table.png");      }catch(Exception e){}      }            public void play(Display d){       d.setCurrent(this);      }            public void paint(Graphics g){      g.drawImage(table,0,0,20);      g.setColor(0, 0, 0);      g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_SMALL));      g.drawString("Последний рекорд", 40, 20, 20);      if (this.getRecord()>0) g.drawString(this.getDateRecord()+" набрано "+this.getRecord()+" очков",50,35,20);      repaint();      }            public void keyPressed(int keyCode){      Main.link.menuCanvas.play(Main.link.d);      }                  public void saveRecord(int score){      try{        rs=RecordStore.openRecordStore("records", true);          if (rs.getNumRecords()==2){      rs.deleteRecord(1);      rs.deleteRecord(2);      }      rs.addRecord(this.getDate().getBytes(),0,this.getDate().getBytes().length); //первая запись хранит дату и время      rs.addRecord(Integer.toString(score).getBytes(),0,Integer.toString(score).getBytes().length); //вторая запись хранит рекорд      rs.closeRecordStore();      }catch(Exception e){}          }            public int getRecord(){      int record=0;      try{          rs=RecordStore.openRecordStore("records", true);          record=Integer.parseInt(new String(rs.getRecord(2)));      rs.closeRecordStore();      }catch(Exception e){}      return record;          }            public String getDateRecord(){      String date="";      try{          rs=RecordStore.openRecordStore("records", true);          date=new String(rs.getRecord(1));      rs.closeRecordStore();      }catch(Exception e){}      return date;      }            //получить время и дату      private String getDate(){      Calendar c=Calendar.getInstance();      String date=""+c.get(Calendar.HOUR)+":"+c.get(Calendar.MINUTE)+","+c.get(Calendar.DAY_OF_MONTH)+"."+c.get(Calendar.MONTH)+"."+c.get(Calendar.YEAR);      return date;          }       }
   |  
   17.12.2013 / 10:29 |  |  Naik    Пользователь  
   Сейчас: Offline 
 Имя: %name% Регистрация: 14.03.2010
   | aNNiMON, samodelkin (17.12.2013/05:59)Naik, первоначально любой спрайт имеет опорный пиксель в левом верхнем углу, чтобы изменить опорный пиксель существует метод  defineReferencePixel(x,y) ,который позволяет определить опорный пиксель дада все работает через defineReferencePixel(x,y) это либа на андроид неправильная      |  
   17.12.2013 / 10:31 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Naik, а на андроиде разве есть либы?
   |  
   17.12.2013 / 10:37 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Вспомнил, есть, но все-равно я никогда больше не перейду с j2me, мне достаточно летающей пшеницы.
   |  
   17.12.2013 / 10:39 |  |  Naik    Пользователь  
   Сейчас: Offline 
 Имя: %name% Регистрация: 14.03.2010
   | samodelkin, я в AIDE пишу для J2ME с пом. либы  AndroidMIDPShell иногда.  |  
   17.12.2013 / 10:58 |  |  Its_Your_Soul    Пользователь  
   Сейчас: Offline 
 Имя: Саша Откуда: Винница Регистрация: 29.08.2012
   | Naik,  Какое извращение    |  
   17.12.2013 / 14:10 |  |  samodelkin    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Naik (17.12.2013/10:39)samodelkin, я в AIDE пишу для J2ME с пом. либы AndroidMIDPShell иногда.Я бы не ушел с андроида, если не летающая пшеница, мне она все желание испортила, не думал что андроид так подведет.   |  
    Всего сообщений: 16875  Фильтровать сообщения
  Поиск по теме
  Файлы топика (794) 
                 |