PDA

Просмотр полной версии : Прототип из экземпляров Мувиклипа


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
Вот исходник: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: ага работает, просто я не до понял что моя проблема относиться к нарушению наследования....

2iNils1. Почему бы не описать класс 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
ааа.... я просто в книжке еще не дошел до этих глав, а так я согласен что смысла мало, но "...ученье свет, а не ученье....

etc
26.10.2006, 14:06
Лучше читайте Мука.

iNils
26.10.2006, 17:58
Вот пример

KidsKilla
26.10.2006, 18:53
Архив.