Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Цель работы

Читайте также:
  1. I. Задания для самостоятельной работы
  2. I. ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
  3. II. Завершение работы с Электронным дневником.
  4. II. Организация и порядок работы комиссии по трудовым спорам
  5. II. Организация и порядок работы комиссии по трудовым спорам
  6. II. Организация и порядок работы комиссии по трудовым спорам
  7. V. Резерв на непредусмотренные работы

Капустин А

МФ-192

ЛАБОРАТОРНАЯ РАБОТА № 9

«Изучение NetBeans, интегрированной среды разработки для J2ME.

Плиточный слой»

ЦЕЛЬ РАБОТЫ

Продолжить изучение возможностей интегрированной среды разработки NetBeans, с помощью которой возможны создание, компилирование, тестирование и упаковка, а также возможна работа с плиточными слоями в Java-приложениях для мобильных устройств.

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

import java.io.*;

import javax.microedition.lcdui.game.*;

 

public class MainGame extends MIDlet implements CommandListener

{

// команда выхода

private Command exitMidlet = new Command("Выход", Command.EXIT, 0);

// объект класса MyGameCanvas

private MyGameCanvas mr;

 

public void startApp()

{

// обрабатываем исключительную ситуацию

try{

// инициалезируем объект класса MyGameCanvas

mr = new MyGameCanvas();

// запускаем поток

mr.start();

// добовляем команду выхода

mr.addCommand(exitMidlet);

mr.setCommandListener(this);

// отражаем текущий дисплей

Display.getDisplay(this).setCurrent(mr);

}catch (java.io.IOException zxz) {};

}

 

public void pauseApp() {}

 

public void destroyApp(boolean unconditional)

{

// останавливаем поток

if(mr!= null) mr.stop();

}

 

public void commandAction(Command c, Displayable d)

{

if (c == exitMidlet)

{

destroyApp(false);

notifyDestroyed();

}

}

}

 

class MyGameCanvas extends GameCanvas implements Runnable

{

// объявляем объект класса LayerManager

private LayerManager lm;

// объявляем объект класса TiledLayer - плиточный слой

private TiledLayer til;

// объявляем переменную индекса анимированной ячейки

int anim_ind;

// логическая переменная

boolean z;

// создаем очередь тайлов для анимации

static int[] seq = { 2, 5, 1, 4 };

// переменная индекса в очереди

int seq_ind=0;

// счетчик

int count;

 

 

public MyGameCanvas() throws IOException

{

// обращаемся к конструктору суперкласса Canvas

super(true);

// загружаем изображение

Image im = Image.createImage("/zagotovka.png");

// создаем плиточный слой размером 4 на 6 - нумерация столбцов и колонок с 0!!!

til = new TiledLayer(4,6,im, 50,50);

 

til.setCell(0,0,4);//заполнение одной ячейки

til.setCell(1,0,4);

til.setCell(2,0,4);

til.setCell(3,0,4);

 

til.setCell(0,1,4);

til.setCell(1,1,4);

til.setCell(2,1,13);

til.setCell(3,1,14);

 

til.setCell(0,2,1);

til.setCell(1,2,2);

til.setCell(2,2,3);

til.setCell(3,2,5);

 

til.setCell(0,3,5);

til.setCell(1,3,5);

til.setCell(2,3,1);

til.setCell(3,3,3);

 

til.setCell(0,4,1);

til.setCell(1,4,2);

til.setCell(2,4,3);

til.setCell(3,4,5);

 

til.setCell(0,5,5);

til.setCell(1,5,1);

til.setCell(2,5,2);

til.setCell(3,5,3);

 

// создаем менеджер уровней

lm = new LayerManager();

// добовляем плиточный слой к уровню

lm.append(til);

}

 

public void start()

{

z = true;

// создаем и запускаем поток

Thread t = new Thread(this);

t.start();

}

 

// останавливаем поток

public void stop(){ z = false; }

 

public void run()

{

// получаем графический контекст

Graphics g = getGraphics();

while (z)

{

// рисуем графические элементы

init(g);

// останавливаем цикл

try { Thread.sleep(25); }

catch (java.lang.InterruptedException zxz) {};

}

}

 

private void init(Graphics g)

{

// синий цвет фона

g.setColor(0,0,200);

// перерисовываем экран

g.fillRect(0, 0, getWidth(), getHeight());

g.setColor(255,255,255);

g.drawString("счетчик "+count+" инд очереди "+seq_ind+" тайл "+seq[seq_ind],5,200,Graphics.TOP|Graphics.LEFT);

count++;

if ((count%5)==0)

{

seq_ind++;

seq_ind%=4;

til.setAnimatedTile(anim_ind, seq[seq_ind]);//смена тайла

}

// рисуем уровень в точке 0,0

lm.paint(g, 0, 0);

// двойная буферезация

flushGraphics();

};

}

 

 

Вывод: в ходе лабораторной работы мы научились применять плиточные слои в среде Java-приложений.


Дата добавления: 2015-08-27; просмотров: 39 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Цель работы| ЛАБОРАТОРНАЯ РАБОТА № 3

mybiblioteka.su - 2015-2024 год. (0.007 сек.)