*   >> Чтение Образование Статьи >> science >> programming

Создание платформы флэш-игры с Flixel и Flex - Enemies

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

 защищен вар startingX: INT;. защищен вар maxHorizontalMovement: INT; защищенные покупатель прижимные планки: FlxEmitter 

переменная хранит startingX стартовая позиция противника.

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

< р> Переменная maxHorizontalMovement это ширина основного блока. Это, в сочетании с переменной startingX, останавливает врагов движущихся от края блока.


<Р> Переменная прижимные планки проведет FlxEmitter, которая, как системы частиц, который будет отображать взрыв планками, когда враг будет уничтожен

 функция Враг общественности (X: INT, Y: INT, maxHorizontalMovement: INT). {супер (EnemyImage, X, Y, правда); this.y - = this.height; this.startingX = Х; this.maxHorizontalMovement = maxHorizontalMovement - this.width; this.velocity.x = ENEMY_SPEED; this.health = ENEMY_HEALTH; this.gibs = FlxG.state.add (новый FlxEmitter (0,0,0,0, NULL, -1.

5, -150 150 -200, 0, -720,720,400,0, EnemyGibsImage, 20, правда)), как FlxEmitter; addAnimation ("аним", [0, 1], 12); this.play ("аним"); } <р> Все это код прямо вперед. Мы просто установки основополагающие FlxSprite переменные вместе с тем, мы определили себя, а затем настройку анимации противника. . Мы также создаем новый FlxEmitter, который будет отображать ливень планками, когда враг умирает

 общественного переопределения обновление функции (): недействительным {super.update (); если (this.x - this.startingX> = maxHorizontalMovement) {this.x = this.

startingX + maxHorizontalMovement; this.velocity.x = -ENEMY_SPEED; .} Еще, если (this.x - this.startingX <р> В функции обновления мы изменяем скорость врага, если он переехал по краю основной блок

 общественная функция коррекции hitWall (Контактное лицо: FlxCore = NULL): Boolean {this.velocity.x = -this.velocity.x; вернуться верно;} <р> Функция hitWall будет вызываться, если враг ударил стену Так как мы знаем путь ясно над.

Слева от основного блока, это означает, что враг попал блок, как она переехала прямо В этом случае мы просто установить скорость, чтобы переместить противника на левом

 общественная функция переопределения убийствам ():.. пустота {super.kill (); this.gibs.x = this.x + (this.width >> 1); this.gibs.y = this.y + (this.height >>

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.