Принципы работы с игровыми приложениями на Java
Java Runtime Environment - минимальная реализация виртуальной машины, необходимая для исполнения приложений, без компилятора и других средств разработки. Компиляция исходного кода через командную строку. Основные моменты создания игрового 2d-приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.04.2014 |
Размер файла | 2,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
falling = true;
}
// падение
if(falling) {
if(dy > 0 && gliding) dy += fallSpeed * 0.1;
else dy += fallSpeed;
if(dy > 0) jumping = false;
if(dy < 0 && !jumping) dy += stopJumpSpeed;
if(dy > maxFallSpeed) dy = maxFallSpeed;
}
}
public void update() {
// обновление позиции
getNextPosition();
checkTileMapCollision();
setPosition(xtemp, ytemp);
// проверка остановки атаки
if(currentAction == SCRATCHING) {
if(animation.hasPlayedOnce()) scratching = false;
}
if(currentAction == FIREBALL) {
if(animation.hasPlayedOnce()) firing = false;
}
// стрельба
fire += 1;
if(fire > maxFire) fire = maxFire;
if(firing && currentAction != FIREBALL) {
if(fire > fireCost) {
fire -= fireCost;
FireBall fb = new FireBall(tileMap, facingRight);
fb.setPosition(x, y);
fireBalls.add(fb);
}
}
// обновить огонь
for(int i = 0; i < fireBalls.size(); i++) {
fireBalls.get(i).update();
if(fireBalls.get(i).shouldRemove()) {
fireBalls.remove(i);
i--;
}
}
if(flinching) {
long elapsed =
(System.nanoTime() - flinchTimer) / 1000000;
if(elapsed > 1000) {
flinching = false;
}
}
// установить анимацию
if(scratching) {
if(currentAction != SCRATCHING) {
currentAction = SCRATCHING;
animation.setFrames(sprites.get(SCRATCHING));
animation.setDelay(50);
width = 60;
}
}
else if(firing) {
if(currentAction != FIREBALL) {
currentAction = FIREBALL;
animation.setFrames(sprites.get(FIREBALL));
animation.setDelay(100);
width = 30;
}
}
else if(dy > 0) {
if(gliding) {
if(currentAction != GLIDING) {
currentAction = GLIDING;
animation.setFrames(sprites.get(GLIDING));
animation.setDelay(100);
width = 30;
}
}
else if(currentAction != FALLING) {
currentAction = FALLING;
animation.setFrames(sprites.get(FALLING));
animation.setDelay(100);
width = 30;
}
}
else if(dy < 0) {
if(currentAction != JUMPING) {
currentAction = JUMPING;
animation.setFrames(sprites.get(JUMPING));
animation.setDelay(-1);
width = 30;
}
}
else if(left || right) {
if(currentAction != WALKING) {
currentAction = WALKING;
animation.setFrames(sprites.get(WALKING));
animation.setDelay(40);
width = 30;
}
}
else {
if(currentAction != IDLE) {
currentAction = IDLE;
animation.setFrames(sprites.get(IDLE));
animation.setDelay(400);
width = 30;
}
}
animation.update();
// установить направление
if(currentAction != SCRATCHING && currentAction != FIREBALL) {
if(right) facingRight = true;
if(left) facingRight = false;
}
}
public void draw(Graphics2D g) {
setMapPosition();
// отрисовка огня
for(int i = 0; i < fireBalls.size(); i++) {
fireBalls.get(i).draw(g);
}
// нарисовать игрока
if(flinching) {
long elapsed =
(System.nanoTime() - flinchTimer) / 1000000;
if(elapsed / 100 % 2 == 0) {
return;
}
}
super.draw(g);
}
}
Приложение Р
Результат разработанного приложения
Рисунок Р.1 - Персонаж на стоит на месте
Рисунок Р.2 - Прыжок
Рисунок Р.3 - Персонаж летит
Рисунок Р.4 - Стрельба огнем
Рисунок Р.5 - Разрушение огня
Рисунок Р.6 - Удар когтем
Рисунок Р.7 - Невозможность пройти через потолок
Рисунок Р.8 - Окраина уровня
Размещено на Allbest.ru
Подобные документы
Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.
курсовая работа [549,2 K], добавлен 23.12.2015Трансляция как процесс перевода программного кода из текстовой формы в машинные коды. Основные категории программ Java. Основные управляющие операторы. Объявление и инициализация переменных. Основные средства разработки приложений, написанных на Java.
презентация [938,2 K], добавлен 26.10.2013Разработка технологии и средств реализации Java-приложения, сокращающих трудоемкость создания и гибкость модификации интерфейса пользователя. Использование XML-документов для описания внешнего представления, элементов управления и событий экранных форм.
дипломная работа [2,8 M], добавлен 19.08.2011История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.
курсовая работа [795,9 K], добавлен 14.12.2012Особенности архитектуры Java. Технология Java Database Connectivity. Кроссплатформенность Java-приложений. Преимущества языка программирования. Логическая структура базы данных. Структура программного комплекса. Верификация программных средств.
курсовая работа [962,8 K], добавлен 13.01.2016Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.
курсовая работа [208,6 K], добавлен 03.12.2013История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.
курсовая работа [168,1 K], добавлен 27.09.2013Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Общее понятие о пакете "java.net". Логическая структура соединений через сокеты. Создание объекта Socket, соединение между узлами Internet. Способы создания потока. Алгоритм работы системы клиент-сервер. Листинг ServerForm.java, запуск подпроцесса.
лабораторная работа [174,6 K], добавлен 27.11.2013Архитектура уровня команд платформы Java, формат файла класса Java. Компилятор ассемблероподобного языка, позволяющий создавать файлы классов, корректно обрабатываемые реальной JVM, поддерживающий все команды байт-кода Java и важнейшие возможности JVM.
курсовая работа [292,6 K], добавлен 17.09.2008