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

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

CC BY
10
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СТОЛКНОВЕНИЯ С ПЕРСОНАЖЕМ / УПРАВЛЕНИЕ ПЕРСОНАЖЕМ

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

В данной статье рассмотрена реализация стрельбы персонажем игрового приложения в Adobe Animate CC с использованием языка программирования ActionScript 3.0 Resume: In this article will be considered implementation of firing of the character of the game application in Adobe Animate CC with use of the ActionScript 3.0 programming language

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

IMPLEMENTATION OF SHOTING ALGORITHMS BY THE CHARACTER

Keywords: COLLISIONS WITH THE CHARACTER, CONTROL OF THE CHARACTER

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

УДК 004.021

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

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

Petrov I.S. Second year student Bashkir State University Sterlitamak, Bashkortostan, Russian Federation Scientific director: c.p-ms. Hasanova S.L.

РЕАЛИЗАЦИЯ АЛГОРИТМОВ СТРЕЛЬБЫ ПЕРСОНАЖЕМ IMPLEMENTATION OF SHOTING ALGORITHMS BY THE

CHARACTER.

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

Resume: In this article will be considered implementation of firing of the character of the game application in Adobe Animate CC with use of the ActionScript 3.0 programming language

Ключевые слова: Гравитация в игровом приложении, столкновения с персонажем, управление персонажем.

Keywords: Gravitation in the game application, collisions with the character, control of the character.

ВВЕДЕНИЕ

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

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

Определим условия для стрельбы. При нажатии клавиши, мы хотим, чтобы пуля создавалась перед игроком и летела вперед.

Для реализации стрельбы используем классы. Для начала создадим movie clip Bullet (рис. 1).

Преобразовать в символ

Тип: Фрагмент ролика т Регистрация: Папка: К ар н е в айк этапа [библиотеки

Отмена

Дополнительно

Включить направляющие для 9-дольного масштабирования

Связь с ActionScript

|Vj Экяюрт для ActionScript |У| 3кспортировать ...

Базовый класс:

✓ У

Рисунок 1. Movie Clip Bullet Теперь создадим external class для нашего movie clip Bullet.

package {

import flash.display.MovieClip; import flash.events.Event; import flash.display.Stage; public class Bullet extends MovieClip { private var speed:int = 30; private var initialX:int;

public function Bullet(playerX:int, playerY:int,

playerDirection:String, playerSpeed:int) {

if(playerDirection == "left") { speed = -30 + playerSpeed; x = playerX - 25; } else if(playerDirection == "right") { speed = 30 + playerSpeed; x = playerX + 0

}

y = playerY - 25; initialX = x;

addEventListener(Event.ENTER_FRAME, loop);

}

public function loop(e:Event):void {

x += speed; if(speed > 0) {

if(x > initialX + 640) { removeSelf();

}

} else {

if(x < initialX - 640) { removeSelf();

}

}

}

public function removeSelf():void {

trace("remove self");

removeEventListener(Event.ENTER_FRAME, loop); this.parent.removeChild(this);

}

}

}

Мы получили пулю, которая имеет скорость на 30 больше чем у персонажа и удаляется если расстояние между игроком и пулей больше 640. Теперь добавим стрельбу в главную функцию. Простой способ активировать некоторый код один раз за каждое нажатие клавиши, это вызвать функцию keyUpHandler. Каждый раз как игрок отпускает клавишу, функция будет вызвана один раз, и мы создадим пулю.

if(e.keyCode == Keyboard.SPACE){ fireBullet();

}

Добавим саму функцию fireBullet(), которую мы будем вызывать в keyUpHandler, а также объявим массив BulletList.

var bulletList:Array = new Array();

function fireBullet():void

{

var playerDirection:String; if(player.scaleX < 0){

playerDirection = "left"; } else if(player.scaleX > 0){ playerDirection = "right";

}

var bullet:Bullet = new Bullet(player.x - scrollX, player.y - scrollY, playerDirection, xSpeed);

back.addChild(bullet);

bullet.addEventListener(Event.REMOVED, bulletRemoved); bulletList.push(bullet);

}

Первая половина функции создает новую переменную playerDirection и выставляет ей значение "right" или "left" в зависимости от того в какую сторону смотрит персонаж. Вторая половина функции обращается к нашему классу Bullet.

ЗАКЛЮЧЕНИЕ

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

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