Читаем Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript полностью

for (i=0; i

// Узнаем текущую координату.

o = _root["Bubble"+i]._y;

// Останавливаемся, если достигнута нижняя граница

// объекта "лампа".

if <(bubbles[i].speed > 0) and (y > bottom)) {

bubbles[i].speed = 0;

// Останавливаемся, если достигнута верхняя граница

// объекта.

} else if ((bubbles[i].speed < 0) and (y < top)) {

bubbles[i].speed = 0;

// Продолжаем перемещать пузырьки.

} else {

// Перемещаем.

_root["Bubble"+i]._y = y+bubbles[i].speed;

// Изменяем размеры пузырька.

height = _root["Bubble"+i]._yscale;

width = _root["Bubble"+i]._xscale;

if (height > width) height -= 1;

_root["Bubble"+i]._yscale = height;

}

}

// Создаем новый пузырек с вероятностью 1/30.

if (Math.random*30 <= 1) {

newBubble;

}

}

Функция newBubble проверяет массив bubbles на наличие неиспользуемых мест для пузырьков. Затем она создает пузырек в нижней или верхней части лампы. Размер пузырька задается случайным числом. Его длина в три раза больше, чем ширина. По мере перемещения пузырька эта разница постепенно исчезает.

function newBubble {

for (i=0; i

// Находим пустое место для пузырька.

if (bubbles[i].speed == 0) {

// Создаем пузырек в верхней части лампы.

if (Math.random < .5) {

bubbles [i].speed = 1 ;

_root["Bubble"+i]._y = -40;

// Создаем пузырек в нижней части лампы.

} else {

bubbles[i].speed = -1 ;

_root ["Bubble"+i ]._y = 340;

}

// Устанавливаем размер пузырька.

size = 40+ Math. random *40;

_root["Bubble"+i]._xscale = size;

_root["Bubble"+i]._yscale = size*3;

_root["Bubble"+i]._x = 10+Math. random *80;

// Готово.

break;

}

}

}

Три вышеприведенные функции составляют основу ролика Lava Lamp, который вы можете просмотреть, запустив файл Lavalamp.fla на Web-сайте.

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

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

<p>Игра" Жизнь"</p>

Исходный файл: gameoflife.fla

Игра "Жизнь" известна как результат серьезных разработок в области искусственного интеллекта и одновременно как популярная игра. Она была изобретена математиком Джоном Конвэйем и приобрела известность благодаря опубликованной в 1970 году статье в журнале "Scientific American". Вскоре после этого игра стала чрезвычайно популярной среди программистов.

Выглядит все очень просто – в ячейки сетки на игровом поле помещается произвольный набор точек. На очередном шаге игры содержание каждой ячейки сетки подвергается преобразованиям согласно определенному набору правил. Если данная ячейка содержит точку и в прилегающих к ней ячейках находится две или три точки, то содержимое данной ячейки остается без изменений. Если в прилегающих ячейках содержится меньше двух точек, то точка в данной ячейке "умирает" от одиночества, а если больше трех, то точка "умирает" от тесноты. Если же данная ячейка пуста и в прилегающих ячейках содержится ровно три точки, то в данной ячейке "рождается" новая точка.

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

Рисунок 6.15. В игре «Жизнь» живут и умирают маленькие красные точки

Задача проекта

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT