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

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

иже.

<Р> Если вы не знакомы с этим, >> оператор называется немного сдвиг. Фактические данные этого оператора не важны; все, что вам нужно знать, что, называя >> 1 На междунар вы фактически вдвое свою ценность. Это более эффективно, что, называя BLOCK_DIMENSIONS /2, и вы получите впечатление всем своим друзьям с неясной работы.

<Р>

<р> Затем проверить область следующего блока вверх.

< р>

<р> Затем повторите процесс один блок вправо.


<р>

<р> В приведенном выше примере, блок в нижней части изображения не будет пригодна для Размещение врагом, потому что есть столкновение со вторым тестом. Это устанавливает флаг столкновения с истинным, а это значит, мы не добавляем врага здесь.

, если (! Сталкивается && enemyStartX> 0 && enemyStartY> 0) {enemies.add (this.add (новый враг (enemyStartX , enemyStartY, block1.width))); ++ enemyCount; } Если (enemyCount> = ENEMY_COUNT) перерыв; }} <р> Если над блоком пространство было ясно, что мы затем создать новый враг, который добавляется и к GameState и коллекции врагов.

Мы увеличиваем счетчик enemyCount, а затем либо поместите следующий противника, или если все они были размещены вырваться из петли

 общественная функция коррекции обновление ():. {Недействительными super.update (); FlxG.collideArray (levelBlocks, игрок); FlxG.collideArrays (playerBullets, levelBlocks); FlxG.collideArrays (враги, levelBlocks); FlxG.overlapArrays (playerBullets, враги, bulletHitEnemy);} <р> Враги будут сталкиваться с блоками на уровне, и с игроками пуль. В функции обновления мы тестируем для этих столкновений.

Для пули /вражеской столкновения, мы устанавливаем функцию bulletHitEnemy назвать в случае столкновения

 частные функции bulletHitEnemy (пуля: FlxSprite, бот: FlxSprite):. {Недействительными Bullet.hurt 

(0); Bot.hurt

(1);} <р> В функции bulletHitEnemy мы вызываем функцию больно как на пули и врага. Это позволит удалить пулю от уровня, и вызвать противника страдать некоторые повреждения. . Если враг страдает достаточно повреждений он будет быть убиты

<р> Далее нам нужно создать класс Enemy

 пакет {импорт org.flixel *..

общественного класса Враг распространяется FlxSprite {[Вставить (источник = "../СМИ /enemy.png")] защищен уаг EnemyImage: Class; [Код (источник = "../СМИ /enemygibs.png")] защищен уаг EnemyGibsImage: Класс; защищен статической строительства ENEMY_SPEED: Number = 20; защищен статической строительства ENEMY_HEALTH: INT = 2; <р> Для начала мы вкладыв

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