Научная статья на тему 'РЕАЛИЗАЦИЯ АЛГОРИТМОВ СЛУЧАЙНОГО ВЫБОРА СОБЫТИЙ И УПРАВЛЕНИЯ ИГРОВЫМИ ОБЪЕКТАМИ В ИГРОВОМ ПРИЛОЖЕНИИ'

РЕАЛИЗАЦИЯ АЛГОРИТМОВ СЛУЧАЙНОГО ВЫБОРА СОБЫТИЙ И УПРАВЛЕНИЯ ИГРОВЫМИ ОБЪЕКТАМИ В ИГРОВОМ ПРИЛОЖЕНИИ Текст научной статьи по специальности «Математика»

CC BY
21
2
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СОБЫТИЯ / СЛУЧАЙНЫЙ ВЫБОР СОБЫТИЙ / ИГРОВЫЕ ОБЪЕКТЫ / УПРАВЛЕНИЕ ИГРОВЫМИ ОБЪЕКТАМИ

Аннотация научной статьи по математике, автор научной работы — Козлов Д.И.

В данной статье рассмотрена реализация игрового приложения с реализацией случайного выбора событий и управления игровыми объектами в Adobe Animate CC с использованием языка программирования ActionScript 3.0

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF ALGORITHMS OF RANDOM SELECTION OF EVENTS AND CONTROL OF GAME OBJECTS IN THE IN GAME APPLICATION

Resume: In this article will be considered implementation of a gaming application with the implementation of random selection of events and control of game objects in Adobe Animate CC using the ActionScript 3.0 programming language

Текст научной работы на тему «РЕАЛИЗАЦИЯ АЛГОРИТМОВ СЛУЧАЙНОГО ВЫБОРА СОБЫТИЙ И УПРАВЛЕНИЯ ИГРОВЫМИ ОБЪЕКТАМИ В ИГРОВОМ ПРИЛОЖЕНИИ»

УДК 004.021

Козлов Д.И. студент 2го курса Башкирский Государственный Университет научный руководитель: Хасанова С.Л., к.ф-м.н.

РФ, Башкортостан, г. Стерлитамак

Kozlov D.I. Second year student Bashkir State University Sterlitamak, Bashkortostan, Russian Federation Scientific director: c.p-ms. Hasanova S.L. РЕАЛИЗАЦИЯ АЛГОРИТМОВ СЛУЧАЙНОГО ВЫБОРА СОБЫТИЙ

И УПРАВЛЕНИЯ ИГРОВЫМИ ОБЪЕКТАМИ В ИГРОВОМ

ПРИЛОЖЕНИИ IMPLEMENTATION OF ALGORITHMS OF RANDOM SELECTION OF EVENTS AND CONTROL OF GAME OBJECTS IN THE

IN GAME APPLICATION.

Аннотация: В данной статье рассмотрена реализация игрового приложения с реализацией случайного выбора событий и управления игровыми объектами в Adobe Animate CC с использованием языка программирования ActionScript 3.0

Resume: In this article will be considered implementation of a gaming application with the implementation of random selection of events and control of game objects in Adobe Animate CC using the ActionScript 3.0 programming language

Ключевые слова: события, случайный выбор событий, игровые объекты, управление игровыми объектами.

Keywords: events, random selection of events, game objects, control of game objects.

ВВЕДЕНИЕ

В данной статье будет рассмотрена реализация игрового приложения в Adobe Animate CC с использованием языка программирования ActionScript 3.0

Компьютерная игра — компьютерная программа, служащая для организации игрового процесса, связи с партнёрами по игре, или сама выступающая в качестве партнёра.

На сцене расположены два прямоугольных объекта с именами event 1 и event2, они отвечают за генерацию событий

События и их случайный выбор

Рисунок1. Прямоугольники Event 1 и Event2

♦ о

Event 1 и Event2 находятся за пределами видимой зоны игрока и перемещаются по координате y на значение равное 3. Первый запускает генерацию и вызов события если его координата по y>=y игрока, второй завершает его в аналогичной ситуации. События в данном случае различаются и определяются переменной eventtype, которая определяется с помощью функции Math.Random() *3 = числом от 0 до 2. Все перечисленные выше функции обеспечивает функция Events, код которой расположен ниже. function events(){ eventl.y += 3; event2.y += 3;

if ((eventl.y >= ship.y)&&(event2.y < ship.y)) {

if (evt == false) {

eventtype = Math.random()*3;

evt = true;

evkolv += 1; } }

if ((event2.y >= ship.y) && (eventl.y < ship.y)){

if (evt == true){

evt = false; } }

if (eventl.y >= 1000) {

eventl.y = -1000; }

if (event2.y >= l000) {

event2.y = -l000; } }

Каждую секунду 60 раз вызывается функция EF - она является основой всей игры, в ней происходит проверка различных условий и вызов функций для проверки наступления событий, определение столкновений, а так же перемещений персонажа и остальных интерактивных игровых объектов, пока активным является фрейм №1 - пока жив персонаж. Её код: function EF(e:Event)

if (playeralive == true) { control(); events();}

if ((evkolv == 4) && !(boss_spawned)) {

evt = false;

event1.y = 0;

event2.y = 0;

b ossspawn (310,-407);

boss_spawned = true; }

if (evt == true) {

switch (eventtype){

case 0:

asttimer. start(); break; case 1: ex = -105; ey = 50;

enemy_timer.start();

break;

case 2:

ex = 805;

ey = 160;

enemy_timer.start();

break; } }

else{

switch (eventtype){ case 0:

ast_timer.stop();

break;

case 1:

enemy_timer.stop(); break; case 2:

enemytimer. stop (); break; } } }

Данная функция так же производит подсчет количества пройденных событий. Так после того как значение evkolv=4 генерация событий завершается и происходит вызов завершающего события - появление «босса».

Игровые объекты

Астероиды это объекты типа MovieClip, представляющие собой картинку астероида с определенными границами в виде прямоугольника. Рисунок 2. Астероид _

Их логика довольно проста, после появления, пока они живы, их координата по x и по y меняется на сгенерированное значение при создании этого объекта.

function ast_fly(e:Event) {

var new_ast:MovieClip = e.currentTarget as MovieClip; new_ast.y += new_ast.speedy; new_ast.x += new_ast.speedx }

Корабли это объекты типа MovieClip, представляющие из себя

картинку корабля с определенными границами в виде прямоугольника.

Рисунок 4. Вид Корабля

W

Существует два варианта появления врагов. 1 - при eventtype = 1 и 2 при eventtype = 2.

В первом случае враги появляются в левом верхнем углу и вылетают по синусоиде направо, во втором справа налево, появляясь в правом верхнем углу.

Рисунок 5. Схематический пример перемещения кораблей_

. ' W

вне видимости Область, наблюдаемая игроком вне видимости

Рисунок 6. Перемещение объекта в наблюдаемой игроком зоне

Перемещение по синусоиде создано не с помощью математических функций а с использованием анимации в MovieClip^ так этот объект является анимированным и имеет 240 кадров анимации, с 1 по 60 он опускается вниз, затем с 61 по 120 идет обратно, с 121 по 180 идет вверх и с 181 по 240 возвращается в исходное положение. Таким образом движение по синусоиде - иллюзия, объект движется на самом деле только по оси ox. function enemy_mind(e:Event){

var new_enemy:MovieClip = e.currentTarget as MovieClip;

newenemy.k = 1; newenemy.destrenemy = false; switch (new_enemy.h){ case 1:

newenemy.x += leftspeed;

if (newenemy.currentFrame == 60) {

enemy_shoot(new_enemy.x+41,new_enemy.y+110,1);}

if (new enemy.currentFrame == 180) {

enemy_shoot(new_enemy.x+41,new_enemy.y-10,1);}

if (new_enemy.x> = 830) {

new enemy.destrenemy = true; }

break;

case 2:

new enemy.x -= leftspeed; if (new enemy.currentFrame == 60) { enemy_shoot(new_enemy.x+41,new_enemy.y+110,1);} if (new enemy.currentFrame == 180) {

enemy_shoot(new_enemy.x+41,new_enemy.y-10,1);} if (new enemy.x < = -180) { newenemy.destrenemy = true; } break; }

switch (eventtype){ case 1:

if ((new enemy.currentFrame == 1)+(new_enemy.currentFrame ==

240)){

new_enemy.gotoAndPlay(2);}

break;

case 2:

if ((newenemy.currentFrame == 1)+(new_enemy.currentFrame == 240)){ new_enemy.gotoAndPlay(2); } break; }

ЗАКЛЮЧЕНИЕ

В результате работы было реализовано игровое приложение в среде разработки Adobe Animate CC. Был показан детальный разбор исходного кода программы в плане генерации событий и управления игровыми объектами, а так же, описание некоторых встроенных функций на основе которых он был разработан.

i Надоели баннеры? Вы всегда можете отключить рекламу.