• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по созданию Flash-игр

Стрельба с прицелом

Более важно понять то, что перемещение имеет две составляющие: скорость и угол. Значения расстояний для монитора компьютера не могут быть заданы по диагонали, они задаются только по вертикали и горизонтали. Функции Math.sin и Math.cos позволяют преобразовать значения скорости и угла в расстояние по горизонтали и вертикали.

function shootBullet() {
    // Проверяем, можно ли выстреливать следующую пулю,
    if (getTiner() > nextBulletTime) {
        // Создаем пулю.
        attachMovie("bullet", "bullet" + nextBullet, L.nextBullet + 9999);
        bullet = _root["bullet" + nextBullet];
        // Устанавливаем координаты.
        bullet._x = straw._x + Math.cos(strawRadians) * 20;
        bullet._y = straw._y + Math.cos(strawRadians) * 20;
        // Добавляем в массив информацию о пуле:
        // clip = название клипа,
        // angle = начальный угол,
        // down = эффект гравитации.
        bullets.push({
            clip: bullet.angle: strawRadians,
            down: 0
        }
        // Увеличиваем счетчик пуль.
        nextBullet++;
        nextBulletTime = getTimer() + 1000;
    }
}

Функция moveBullets использует параметры angle и down каждого снаряда для перемещения их на определенное расстояние. Кроме этого параметр down увеличивается, чтобы создавался эффект гравитации.

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

function moveBullets() {
    // Перемещаем все снаряды.
    for (i = bullets.length - 1; i >= 0; i -) {
        // Определяем название клипа,
        bullet = bullets[i].clip;
        // Перемещаем клип.
        bullet._x += Math.cos(bullets[i].angle) * 10;
        bullet._y += Math.sin(bullets[i].angle) * 10;
        // Добавляем искажение траектории
        // из-за воздействия гравитации.
        bullet._y += bullets[i].down;
        // Увеличиваем значение параметра гравитации,
        bullets[i].down += .2;
        // Выясняем, достигла ли пуля земли,
        if (bullet._y > 400) {
            bullet.removeMovieClip();
            bullets.splice(i, 1);
            // Определяем, есть ли попадение.
        }
        else {
            if (checkCollision(bullet)) {
                bullet.removeMovieClip();
                bullets.spliced(i, 1);
            }
        }
    }
}

К сведению

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

Другие возможности

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.