Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Статьи (http://www.flasher.ru/forum/forumdisplay.php?f=101)
-   -   Знакомство с Flash 9 и ActionScript 3.0 на примере создания аркадной игры (http://www.flasher.ru/forum/showthread.php?t=83431)

MerlinTwi 17.03.2010 13:58

> что бы не совершать проверку на столкновение с самим собой
не только, но и чтобы "след" не оставался, объект ведь движется из сектора с сектор. Алгоритм такой такой:

1. удалить себя из сектора где были
2. переместиться
3. проверить столкновения/скорректировать новые координаты
4. записаться в новый сектор

elcard 02.04.2010 16:09

Я тоже нуб. Проявляю потуги разобраться по статье, но застрял в начале на прелоадере. Flash CS4. Компилируется, но переход на второй кадр не осуществляется с ошибкой
Цитата:

TypeError: Error #1010: Термин не определен и не имеет свойств.
at main::preloader/Update()
Мои FLA и SWF если не лень будет глянуть http://narod.ru/disk/19123802000/3.7z.html.

Дебугер вроде на эту строчку указывает:
Код AS3:

this.progressbar.gotoAndStop(percent+1);

UPD: Разобрался... мувик забыл назвать progressbar. Блин, а столько времени тупил сидел :(

dex157 16.04.2010 09:57

Так же хотел поблагодарить MerlinTwi за прекрасную статью..) спустя 4 года, многие, и я в том числе, находим в ней много полезного..)
Мне вот очень интересно, как бы вы сейчас сделали обращения из объекта пушки(любой) к цели, 4 года назад работала конструкция
Код AS1/AS2:

parent.all_sectors

, как лучше сейчас это реализовывать, через главный класс(в случае игры sky)..? или как то через эвенты..?

MerlinTwi 19.04.2010 14:54

Главный класс, он же глобальный диспатчер игровых событий, он же централизованное хранилище ссылок на все объекты, хорошо себя зарекомендовал.

Dark_Omen 26.04.2010 16:46

Вложений: 1
Делаю прелоадер, получаю такую ошибку:
1061: Call to a possibly undefined method gotoAndStop through a reference with static type flash.display:DisplayObjectContainer.
parent.gotoAndStop(1); //1 - это уже я сам пробовал.. даже без 1 ругается:(
Прошу сильно не пинать - первый раз с as3 работаю..

BlooDHounD 26.04.2010 16:59

перечитайте весь топик. ответ здесь уже дан.

Dark_Omen 26.04.2010 17:14

ага. .нашел, спасибо за подсказку)

Ramm 02.05.2010 04:42

В статье говорилось
Цитата:

В мувике астероида убрана галочка «Export in first frame», т.е. мувик не грузится в первом кадре флешки, а будет загружаться в том кадре, в котором он поставлен на TimeLine. Я забыл добавить мувик астероида на TimeLine и соответственно он так и не был загружен вообще.
Есть ли возможность загрузить(ну чтоб его было видно) мувик из библиотеки, не помещенный на таймлайн?

MerlinTwi 06.05.2010 14:13

Флеш не включает в результирующий(swf) файл те классы, на которые нет явных ссылок с timeline или главного скрипта (Docement class). Когда вы ставите галочку "Export in first frame" ссылка на этот класс автоматически прописывается в первом кадре флешки. Если эта галочка не стоит, то обязанность дать явную ссылку на класс в нужном месте ложится на наши плечи. В примере был реализован самый простой вариант, положить мувик на timeline во втором кадре (вне пределов видимости).
Другой вариант: положить пустой мувик на timeline во втором кадре, прописать ему класс (например Container) в котором перечислить (дать явные ссылки) на все классы, которые нужно включить в нашу флешку.
Например:
Код:

package {
        import flash.display.Sprite;

        public class Container extends Sprite {
                // перечисляем классы которые нужно включить в swf
                sky;
                comet;
                laser;
                //...
        }

}

Если внутри одного класса есть ссылки на другой, например в sky создаются кометы:
Код:

var new_comet:comet = new comet();
то можно сюда не прописывать comet.

Ramm 08.05.2010 02:20

Спасибо, запомним


Часовой пояс GMT +4, время: 16:54.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.