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 кб.) Скачано 568 раз |
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)
|