Шрифт:
onClipEvent(load) {
// Получаем исходную информацию.
totalFileSize = _root.getBytesTotal;
startTime = getTimer;
startBytes = _root.getBytesLoaded;
// Прячем полосу загрузки.
this._xscale = 0;
}
onClipEvent(enterFrame) {
// Выясняем, сколько байт уже загружено.
bytesLoaded = _root.getBytesLoaded;
// Преобразуем это значение в величину от 0 до 1.
amountLoaded = bytesLoaded/totalFileSize;
// Преобразуем полученное значение в величину от 0 до 100.
percentLoaded = int(100*amountLoaded);
// Определяем масштаб полосы загрузки.
this._xscale = percentLoaded;
// Определяем скорость загрузки.
timeSoFar = getTimer – startTime;
speed = bytesLoaded/timeSoFar;
// Выясняем, сколько времени осталось до конца загрузки.
bytesLeft = totalFileSize – bytesLoaded;
timeLeft = (bytesLeft/speed)/1000;
// Преобразуем полученное значение
// в величину с одной цифрой после запятой.
speed = int(10*speed)/10;
// Устанавливаем текстовые поля.
_root.bytesMessage = int(bytesLoaded/1000) + "kb/" + int(totalFileSize/1000) + "kb";
_root.speedMessage = speed + "k/sec";
_root.timeMessage = int(timeLeft) + " seconds remaining"; [21]
// Проверяем, все ли уже загружено.
if (amountLoaded >= 1.0) {
_root.gotoAndStop("complete");
}
}
Другие типы экранов загрузки
Только что рассмотренные экраны загрузки – стандартные. Кроме них существует множество других вариантов. Самый простой: можно отображать только статический кадр с надписью «Loading, Please Wait.» (Идет загрузка, пожалуйста, подождите.). Когда загрузка будет завершена, ролик просто перейдет следующему кадру.
Этот вариант можно усложнить и поместить какую-либо повторяющуюся анимацию в кадр.
Еще более сложный вариант: каждый кадр будет отображать различные этапы загрузки. Например, будет собираться некая картинка: чем ближе загрузка будет подходить к концу, тем более целостным будет становиться изображение.
Возможно, для создания таких экранов загрузки функции getBytesTotal и getBytesLoaded не понадобятся. Вместо них можно воспользоваться функцией ifFrameLoaded, чтобы узнать, загружены ли все графические объекты определенного кадра. Эта функция пригодится, если вы хотите, чтобы пользователь начал какую-то часть игры, но не смог продолжить до тех пор, пока необходимые кадры не будут готовы.
Но лучше сделать время загрузки полезным для игрока. Например, поместить в кадр руководство к игре. Вместо того чтобы просто сидеть и смотреть, как заполняется полоса загрузки, игрок сможет узнать полезную и необходимую для него информацию.Защита от копирования
Итак, прочитав эту книгу, вы решили создать свою собственную игру. На это у вас ушли месяцы. Когда вы закончили свой проект, получилась замечательная Flash-игра. Вы убеждены, что она станет суперпопулярной и сделает вас знаменитым.
Вы разместили игру на Web-сайте и начали ждать результатов. Через несколько недель вы узнали, что в нее играют сотни людей. Вы также обнаружили аналогичную игру на домашней страничке подростка из штата Небраска.
Минуточку! Это же ваша игра! Она на домашней страничке какого-то подростка, который утверждает, что сам создал ее! Но что еще хуже – на его страничку заходят миллионы и миллионы людей. И лавры за созданную вами игру достаются ему.
Предотвратить это можно несколькими способами. Давайте сначала рассмотрим, как происходит такая кража.
Как и почему воруют игры
Уже на протяжении пяти лет я создаю для Web игры на базе технологий Shockwave и Flash. Я обнаружил, что мои игры без разрешения используются на различных Web-сайтах, начиная от персональных домашних страничек и заканчивая официальными бизнес-сайтами.
Первое, что следует понять, – в 90 % случаев вор даже не подозревает, что совершает кражу. Для большинства людей Internet стал большой бесплатной игровой площадкой. Многое они получают бесплатно и даже не думают о том, кто владеет этой программой или любой другой информацией, какова была стоимость ее создания, они не задумываются о проблемах копирования и интеллектуальной собственности. Все это не имеет значения, так как большинство программ бесплатные.
Когда кто-то начинает создавать свой собственный Web-сайт, не важно – домашнюю страничку или сайт, который положит начало электронному бизнесу, этот человек не думает о таких вопросах. Напротив, он считает, что раз можно посмотреть что-то бесплатно, то можно, также не платя денег, использовать понравившееся на своем Web-сайте. Если пользователь видит что-то заслуживающее внимания на чужом сайте, он смотрит HTML-код и копирует его. Если он видит интересную анимированную GIF-картинку, он щелкает правой кнопкой мыши и сохраняет ее на компьютере, чтобы впоследствии использовать для своего сайта. Если он видит вашу игру, то также берет ее и размещает на своей страничке.
Некоторые люди понимают, что это неправильно, но не осознают, какой вред причиняют. Они считают, что если ограничение скорости – 55 миль/час, то ничего не случится, если они будут ехать со скоростью 56 миль/час. Для них сеть – многомиллионная корпорация, и они не могут кому-то навредить, если возьмут одну небольшую игру для своего сайта.
Годами я слышал все это. Люди просят, и я разрешаю размещать игры на их сайтах, даже если не был знаком с ними ранее. Люди убеждены, что раз они купили одну из моих книг, значит, все, что есть на моем Web-сайте, может появиться и на их страничках. Люди утверждают, что все программы и другая информация должны быть бесплатными, чтобы можно было брать игры, ни у кого не спрашивая разрешения.
Методы, которыми пользуются люди для получения Flash-игр, на удивление просты. Один из вариантов: вор просматривает HTML-код страницы, где располагается ваш ролик, получает имя и путь к нему с помощью параметра src тэга OBJECT или embed, а затем указывает в браузере непосредственный путь к swf-файлу. После этого пользователь может выбрать пункт File → Save as (Файл → Сохранить как), чтобы сохранить swf-файл на своем локальном жестком диске.
Даже если вы умудрились спрятать HTML-код от пользователя, он всегда может найти скрытые файлы в кэше своего браузера и выбрать из них соответствующий swf-файл.
Как предотвратить воспроизведение игры с другого компьютера
Исходный файл: Copyprotection.fla
Итак, как помешать кому-либо украсть вашу игру? Никак. Но вы можете помешать ему проигрывать игру с другого сайта, таким образом, украденная игра станет бесполезной.
Ключ к такой защите – свойство _url, которое возвращает строчку, содержащую весь путь к вашему swf-файлу. Если ролик располагается по адресуименно эту строчку вернет свойство _url.
После того как вы ее получили, можете разбить ее на части и выделить имя основного домена. Например, в вышеприведенном адресе основной домен – garyrosenzweig.com. Просмотрите следующий фрагмент программы Copyprotection1.fla:
// Показываем весь путь.
urlText = "This game is being loaded from: " + _url;
// Получаем строку, находящуюся между символами "://"
// и следующим символом "/".
c1 = _url.indexOf("://"+3;
c2 = _url.indexOf("/", c1);
domain = _url.sunstring(c1, c2);
// Удаляем все символы перед первой точкой.
c3 = domain.lasrIndexOf(".")-1;
c4 = domain.lastIndexOf(".", c3) +1;
domain = domain.substring(c4, domain.length);
// Отображаем основной домен.
domainText = "The root domain is: " + domain;Жанры
- Романы
- Приключения
- Детективы
- Техно триллер
- Дамский детективный роман
- Исторические детективы
- Классические детективы
- Шпионские детективы
- Триллеры
- Юридический триллер
- Крутой детектив
- Полицейские детективы
- Медицинский триллер
- Иронические детективы
- Боевики
- Криминальные детективы
- Политические детективы
- Маньяки
- Зарубежные детективы
- Прочие Детективы
- Спецслужбы
- Драматургия
- Фантастика
- Хентай
- Ранобэ
- Сянься
- Дорама
- Уся
- Аниме
- Космоопера
- Юмористическая фантастика
- Боевая фантастика
- Героическая фантастика
- Технофэнтези
- Готический роман
- Социально-философская фантастика
- Попаданцы
- Историческая фантастика
- Ироническая фантастика
- Зарубежная фантастика
- Историческое фэнтези
- Юмористическое фэнтези
- Детективная фантастика
- Эпическая фантастика
- Мистика
- Космическая фантастика
- Фантастика: прочее
- Постапокалипсис
- Научная фантастика
- Киберпанк
- Альтернативная история
- Ненаучная фантастика
- РПГ
- Стимпанк
- Ироническое фэнтези
- Ужасы и мистика
- Сказочная фантастика
- Фэнтези
- Городское фэнтези
- Эзотерика
- Проза
- Военная проза
- Легкая проза
- Сентиментальная проза
- Советская классическая проза
- Антисоветская литература
- Афоризмы
- Эпистолярная проза
- Новелла
- Семейный роман
- Рассказ
- Классическая проза
- Эпопея
- Эссе
- Проза прочее
- Повесть
- Магический реализм
- Современная проза
- Контркультура
- Роман
- Историческая проза
- Русская классическая проза
- Феерия
- Стихи и поэзия
- Юмор
- Дом и досуг
- Рыбалка
- Охота
- Здоровье детей
- Домашние животные
- Воспитание детей
- Отдых / туризм
- Зарубежная прикладная литература
- Прочее домоводство
- Прикладная литература
- Домашнее хозяйство
- Кулинария
- Медицина и здоровье
- Сделай сам
- Спорт
- Хобби и ремесла
- Образовательная литература
- Сад и Огород
- Здоровье и красота
- Развлечения
- Коллекционирование
- Секс / секс-руководства
- Образование и наука
- Боевые искусства
- Органическая химия
- Обществознание
- Военная история
- Ветеринария
- Ораторское искусство / риторика
- Физика
- Химия
- Семейная психология
- Военная техника и вооружение
- Иностранные языки
- Прочая научная литература
- Психотерапия и консультирование
- Биохимия
- Cпецслужбы
- Астрономия и Космос
- Школьные учебники
- Учебная и научная литература
- Учебники
- Государство и право
- Психология
- Литературоведение
- История
- Научно-популярная литература
- Политика
- Детская психология
- Юриспруденция
- Шпаргалки
- Педагогика
- Физическая химия
- Медицина
- Биофизика
- Языкознание
- Зарубежная образовательная литература
- Зоология
- Геология и география
- Краткое содержание
- Зарубежная психология
- Саморазвитие / личностный рост
- Технические науки
- Религиоведение
- Военное дело
- Личная эффективность
- Аналитическая химия
- Рефераты
- Экология
- Философия
- Альтернативная медицина
- Математика
- Культурология
- Военное дело: прочее
- Ботаника
- Биология
- Словари и Энциклопедии
- Финансы и бизнес
- Отраслевые издания
- Бухучет и аудит
- Недвижимость
- Деловая литература
- Ценные бумаги
- Внешнеэкономическая деятельность
- Торговля
- Зарубежная деловая литература
- О бизнесе популярно
- Стартапы и создание бизнеса
- Корпоративная культура
- Управление, подбор персонала
- Маркетинг, PR, реклама
- Личные финансы
- Работа с клиентами
- Менеджмент
- Интернет-бизнес
- Поиск работы, карьера
- Малый бизнес
- Делопроизводство
- Государственное и муниципальное управление
- Банковское дело
- Экономика
- Книги по IT
- Техника
- Древние книги
- Документальное
- Прочее
- Интерьеры
- Газеты и журналы
- Театр
- Музыка
- Комиксы / манга
- Зарубежная классика
- Современная зарубежная литература
- Изобразительное искусство, фотография
- Мода и стиль
- Искусство и Дизайн
- Зарубежная литература о культуре и искусстве
- Фанфик
- Подростковая литература
- Шахматы
- Кино
- Культура и искусство
- Недописанное
- Классическая литература
- Без Жанра
- Народные
- Книги Для Детей
- Детские остросюжетные
- Сказки
- Детские стихи
- Прочая детская литература
- Детская образовательная литература
- Книги для дошкольников
- Детская фантастика
- Детские детективы
- Книга-игра
- Детский фольклор
- Буквари
- Детская проза
- Детская познавательная и развивающая литература
- Внеклассное чтение
- Зарубежные детские книги
- Детские приключения