28.07.2013 / 18:32 | |
Nevesel Пользователь Сейчас: Offline
Имя: Александр Регистрация: 07.11.2012
| всем привет! Это снова я! Подскажите, плз, если массив тайлов карты выносить в отдельный файл, нужно ли там же делать цикл считывания for,с присваиванием setCell,и особенно возвратом return? Блин, ставлю туда этот цикл, ругается-мол,присваивание mapGround.setCell непонятно к чему присваивается(ведь присваивается то оно к объекту TiledLayer mapGround, а он объявлен и инициализирован в другом классе, основном)Как быть? |
28.07.2013 / 18:35 | |
Nevesel Пользователь Сейчас: Offline
Имя: Александр Регистрация: 07.11.2012
| gost6678, сорри, я уже у тебя интересовался, только всё равно непонятки остались...
|
28.07.2013 / 18:49 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| gost6678, player.close(); Main.link.myGameCanvas.startGame();
Никогда так не делай. Если возникнет исключение при закрытии плеера (а оно обязательно возникнет), то ничего больше не вызовется. Соответственно игра не начнётся.
__________________
let live |
28.07.2013 / 19:41 | |
gost6678 Пользователь
| aNNiMON, ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа, ясно! Спасибо большое!
|
28.07.2013 / 23:16 | |
Virus-ON Пользователь Сейчас: Offline
Имя: Макс Откуда: Чернигов Регистрация: 13.10.2011
| Nevesel, Можно код , а то я не понял что ты спросил.
|
28.07.2013 / 23:56 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| nevesel, import javax.microedition.lcdui.game.TiledLayer;
public class GetMap
{
private TiledLayer map;
public GetMat ()
{
}
/* делаем картэ
* @ param img_url - ссылка на картинку тайлов поля
* @ param col_stolb - количество столбцов карты
* @ param col_ryad - количество рядков карты
* @ param tile_width - ширина тайла
* @ param tile_height - высота тайла
* @ param pole - массив карты
* @ return TiledLayer map - наша карта
*/
public TiledLayer Fon( String img_url, int col_stolb, int col_ryad, int tile_width, int tile_height, int[] pole )
{
Image tiles = Image.createImage( img_url );
map = new TiledLayer( col_stolb, col_ryad, tiles, tile_width, tile_height);
for(int i = col_stolb; i < pole.length; i++)
{
fonPole.setCell(i % col_stolb, i / col_ryad, pole[i]);
}
return map;
}
}
как юзать private TiledLayer background;
private GetMap gm;
public MyGameCanvas()
{
// инициализируем класс расстановки карты
gm = new GetMap();
// теперь "устанавливаем" карту
background = gm.Fon( "/tiles.png", 10, 10, 75, 75, new int[]{ 1, 2, 3, ... , 1 } );
}
теперь можно рисовать нашу карту, тоесть bacground прикрепляем к LayerManager. конечно можно оформить все красивее, например в классе MyGameCanvas можно создать переменные которые будем передавать методу Fon или же задать стандартные размеры карты ( высоту, ширину, размер тайлов ) и передавать методу Fon лишь имя картинки в ресурсе и массив карты, только немного нужно изменить метод Fon __________________
знает толк |
29.07.2013 / 07:26 | |
gost6678 Пользователь
| Создай класс, наследованный от TiledLayer в отдельном файле и создавай от него обьекты, ничего сложного нет. Вот пример с возможностью создавать карту, любым размером(например не 5х5 или 10х10, а 5х10 или 10х100). Только там подправь цифры.
Изменено gost6678 (29.07 / 07:28) (всего 3 раза)
Прикрепленные файлы: MapLayer.java (0.89 кб.) Скачано 720 раз |
29.07.2013 / 20:48 | |
Nevesel Пользователь Сейчас: Offline
Имя: Александр Регистрация: 07.11.2012
| Спасибо большое, пойду дальше мозг убивать . |
30.07.2013 / 18:17 | |
gost6678 Пользователь
| Nevesel, давай, если вопросы будут- сюда пиши-я отвечу.
Изменено gost6678 (30.07 / 18:18) (всего 1 раз) |
31.07.2013 / 17:48 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Как сделать вращение 3D мира? |