<Р> Если вы не знакомы с этим, >> оператор называется немного сдвиг. Фактические данные этого оператора не важны; все, что вам нужно знать, что, называя >> 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; <р> Для начала мы вкладыв