Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Прототип из экземпляров Мувиклипа (http://www.flasher.ru/forum/showthread.php?t=86966)

StasBogatyrev 26.10.2006 03:38

Прототип из экземпляров Мувиклипа
 
Взял пример из книжки Гурского (работает) и пытаюсь его изменить (перестает работать)...

Код:

// Конструктор класса, в который будут объединены кружки
function Ball():Void {
        // Создаем обработчик, наследуемый всеми объектами класса ball
        Ball.prototype.onPress = function():Void  {
                this.gotoAndStop(2); // <<<<  Это собственно всё изменение
                //this._alpha = 0;
        };
}
// Указываем, что все экземпляры символа с идентификатором экспорта
// "ball" должны заноситься в класс ball
Object.registerClass("ball", Ball);
// Создаем 100 случайно распределенных по полю квадратиков и кружков
for (var i = 0; i<100; i++) {
        attachMovie("box", "box"+i, i++, {_x:Math.random()*550, _y:Math.random()*400});
        attachMovie("ball", "ball"+i, i++, {_x:Math.random()*550, _y:Math.random()*400});
}


В Мувиклипе ball три кадра. В первом прописан stop(), хотел по нажатию на экземпляр проиграть клип, не работает...

Уважаемые, подскажите где у меня ошибка, может надо както по хитрому обращаться к проигрыванию...

StasBogatyrev 26.10.2006 03:42

Вложений: 1
Вот исходник:Вложение 15602
Вдруг пригодиться... :away:

ader 26.10.2006 04:14

не понял - что у тебя не работает?

udaaff 26.10.2006 04:40

допиши в коде:
Код:

Ball.prototype.__proto__ = MovieClip.prototype;
внимательней читай книжку

iNils 26.10.2006 05:52

У меня два вопроса.
1. Почему бы не описать класс Ball внутри клипа в библиотеки aster, внутри директив #initclip и #endinitclip?
2. Что за хитрые манипуляции внутри цикла? Вы в курсе, что вам сложно будет контролировать общее число созданных клипов? На данный момент делая цикл в диапазоне [0-100], вы получает 68 клипов, [0-90]=60, [0-80]=54, [0-70]=48, [0-60]=40 и тд.

StasBogatyrev 26.10.2006 10:48

Я думал, что я один такой маньяк в ночи флэшем пользуюсь.... :umnik2:

2udaaff: ага работает, просто я не до понял что моя проблема относиться к нарушению наследования....

2iNils
Цитата:

Сообщение от iNils
1. Почему бы не описать класс Ball внутри клипа в библиотеки aster, внутри директив #initclip и #endinitclip?

а можно поподробнее... я стаким еще не сталкивался, если есть возможность измени файлик... или опиши как это можно сделать

а про второй вопрос: это было взято из книги, на текущем этапе совершенно без разницы

etc 26.10.2006 11:01

А чем вам AS2 не угодил?

StasBogatyrev 26.10.2006 12:45

В смысле не угодил?
просто я эти директивы не использовал... и не знаю их хитростей, поэтому прошу пример

etc 26.10.2006 13:20

Я не понимаю, какой смысл писать в AS1 с использованием типизации AS2, prototype, registerClass, когда можно написать нормальный класс…

StasBogatyrev 26.10.2006 14:03

ааа.... я просто в книжке еще не дошел до этих глав, а так я согласен что смысла мало, но "...ученье свет, а не ученье....


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

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