![]() |
|
||||||||||
|
|||||
|
Только начал создавать компоненты, соответственно столкнулся с проблемой... почитав Уильяма Бредберри все вроде работает, делаю свой, вот тут-то не получается. Хочу сделать оконтовку изображения. Делаю мувик с рамкой, называю его border и в "Instance Name" тоже. добавляю скрипт: #include "border.mx"
В этом самом файле пишу: #initclip _global.BORDERCLASS = function() { this.init(); } BORDERCLASS.prototype = new MovieClip(); //задаем цвет,размер и центр рамки BORDERCLASS.prototype.init = function() { this.onLoad = function() { this.changeColor(this.bordercolor); this.border._width = img1._width + 5; this.border._height = img1._height + 5; this.border._x = img1._x; this.border._y = img1._y; } } //задаем цвет рамки BORDEDRCLASS.prototype.changeColor = function(color) { var myColor = new Color(this.border); myColor.setRGB(color); } Object.registerClass("BORDER",BORDERCLASS) #endinitclip Далее ставлю в lincage галочки на экспорт. Затем в Component Definition пишу: color | bordercolor| выставляю синий цвет и тип соответственно color. экспортирую в swc и выкладываю в папку component. открываю заново flash, создаю мувик под названием img1 и импортирую картинку. из правой панели компонентов перетаскиваю свой border и публикую. ничего не меняется, как было так и осталось. ни цвет, ни размер, ни центр не работает. Ответьте, в чем моя ошибка? |
|
|||||
|
МЕГАФЛЭШЕР
Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
|
Уильяма Бредберри описывал создание компонентов предыдущей MX версии (v1)
сейчас же используется вторая версия, и подходы несколько изменились, почитайте хелп, там все подробоно описано. |
|
|||||
|
так ведь по его примерам хотя бы с цветом, но получилось... у меня же совершенно ничего не происходит...
![]() |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
Здраствуйте!
2: Генний john! Я не знаю как поблагодарить вас за ваши золотые статьи. Из них я извлёк много польз. Я каждый день прослеживаю ваши новые сообщения .. Спасибо большое. Etwas задавал очень интересный вопрос: Как создавать компоненты новой MX версии (V2) ? Начёт создания компонентов предыдущей MX версии всё понятно и просто, но как это реализовать в среде Flash MX 2004? По английски я не очень Заранее спасибо ![]()
__________________
время никого не ждёт. |
|
|||||
|
за вчерашний вечер исправил одну ошибку, это была опечатка моя... по поводу кода:
//задаем цвет,размер и центр рамки BORDERCLASS.prototype.init = function() { this.onLoad = function() { this.changeColor(this.bordercolor); //здесь меняется цвет в зависимости от того, какой я выберу в параметрах, он работает this.border._width = img1._width + 5; this.border._height = img1._height + 5;//определение ширины и высоты проходит удачно, рамка оконтовывает изображение с прибавкой в 5 пикселей this.border._x = img1._x; this.border._y = img1._y;//а вот тут очень интересно, центрирование не происходит, причем прослеживаю с помощью trace img1._x и img1._y, координаты одни, но вот тот же trace у border._x и border._y совсем другие, т.е. никак не передаются значения... в чем проблема здесь, пока для меня загадка... } } Если кто-то сможет мне объяснить, помогите в этом разобраться... Заранее спасибо. |
|
|||||
|
Регистрация: Jan 2002
Адрес: asd
Сообщений: 85
|
ааауууу!
Что это!!! Не кто не ответил на мой вопрос! Ладно, тогда кто может перевести эту уникальну статью на русский язык? Буду очень благодарен ![]()
__________________
время никого не ждёт. |
|
|||||
|
Регистрация: Feb 2003
Сообщений: 117
|
Объясни пожалйуста:
img1 - что за объект или переменная. Я так понимаю, это и есть рисунок с главной сцены, но тогда почему в компоненте ты так на него ссылаешься. А если бордюр для другой картинки сделать захочешь, то как тогда быть. Компонент не должен быть зависим от "внешнего мира". Если начинаешь писать компоненты, то мой тебе совет, не используй #include. Компонент должен быть монолитным и включать все в себя (графика, код и т.д.) (в MX лучше без include делать). Если уж очень нужнен такой компонент - напиши я тебе пошлю. Пришли исходник - я исправлю. |
|
|||||
|
напиши мыло, я тебе сброшу, я там кое-что подправил... моя аська 162796144 мыло Pint@narod.ru
|
![]() |
Часовой пояс GMT +4, время: 01:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|