![]() |
разборы c PROTOTYPE
Хочу сделать наследника от TEXTFIELD.
[code=javascript] proscroll.prototype=new TextField() function proscroll (){ this._x=200 this._y=200 this._width=200 this._height=200 } [/code] типа вот так. Правильно ? А как его на экран то вывести ? |
что у тебя такое javascript?
- если флэш, то в общем правильно. проблема действительно в том, что тебе нужно делать отдельный метод типа create, чтобы поиметь такое текстовое поле. proscroll.prototype.__proto__ = TextField.prototype; function proscroll() { this._x = 200; this._y = 200; this._width = 200; this._height = 200; } proscroll.create = function(thisObject, name, depth, initObject) { thisObject.createTextField(name, depth, 0, 0, 10, 10); var t_txt = thisObject[name] t_txt.__proto__ = this.prototype; for (var i in initObject) { t_txt[i] = initObject[i]; } this.call(t_txt); return t_txt; }; ставим на поле: proscroll.create(_root, "my_txt", 0, {text:"hello world"}); |
Подниму трэд
чтобы не генерить кучу тем отпишу здесь, т.к. помойму фтему.
Код:
//типа классЗ.Ы.: тест.свф есть |
дык эта...
а что ты хочешь и что за test.swf и причем тут он? |
хочу наследуемую ф-ю онЛоад (читать РАБОТАЮЩУЮ) для ряда клипов (необязательно из библиотеки)
а тест.свф чтобы проверить онлоад))) З.Ы.: необязательно из библиотеки == если есть способ запихать программно созданные мувики в класс или по-другому заставить работать ф-ю онлоад для них (не трогая MovieClip.prototype ;) ) - буду только счастлифф |
АХТУНГ!!! Помогите!!!
|
а чем тебе прототип не нравится?
|
Вложений: 1
MovieClipLoader юзай. Штука классная. Тут пример у меня по другой маненько теме, но вроде похож по направлению. Посмотри...
|
У тебя там fla пустышка ...
|
Вложений: 1
Извиняюсь! Вот смотрите! :)
|
фпопу МК лоадер! мне для оффа. попробуйте, плиз у кого МХ/МХ2004 мож у вас получится? о.0 чет баг нехороший... все ж прально вроде... :(
|
Тебя ffffff спрашивал чем не нравится прототип, а ты так и не ответил.
|
Цитата:
З.Ы. еси речь идет про МК прототип... то не подходит... т.к. нужно выделить онЛоад у ЧАСТИ клипов. для этого и был создан символ "la". Если есть другое решение - подскажите плз. |
Взял твой скрипт. Сделал test.swf. Загружаю его в ll, после загрузки выводиться "loaded", через 3 секунды "nu?"
А что должно быть? |
в идеале что-то типа
ff // от "конструктора" :) loaded // от аттача ---3sec--- loaded // от загрузки файла nu? ---3sec--- loaded // от загрузки файла nu? ... // мож я туплю чего? объясните плиз. |
прошу прощения за флуд... тока тема давно висит... а тут еще и уползла в трэш...
|
я почти не понимаю вопрос, поэтому попытаюсь пальцем в небо:
что если добавить некий клип-пустышку в нужные мувики и задать ему класс типа: OnLoadCaller = function (){} Object.registerClass("on_load_caller_mc", OnLoadCaller) OnLoadCaller.prototype.__proto__=MovieClip.prototype OnLoadCaller.prototype.onLoad = function () { this._parent.onLoad = this.onParentOnLoad this._parent.onLoad() } OnLoadCaller.prototype.onParentOnLoad = function () { trace(this) } |
мне нужно вызвать ф-ю при наступлении события onLoad класса MovieClip но не для всех экземпляров этого класса, а только для некоторых клипов.
|
Цитата:
Цитата:
У меня при тесте простыми событиями "onLoad()" и "onData()" загрузка вообще не отследилась, даже, как ни странно, с моделью 5 Флеша та же проблема. MCL отработал идеально. Объясни, что тебе мешает подставлять просто ссылки на НУЖНЫЕ ТЕБЕ загружаемые клипы в общий загрузчик? |
1. МКЛоадер - способ нажить себе гемор. ( В МОЕМ СЛУЧАЕ )
2. Зачем на вопрос "Почему это не работает?" и подробном (ИМХО) описании проблемы, предлагать что-то. Неужто нет людей которые могут объяснить почему наследуемый onLoad не срабатывает при завершении loadMovie? 3. Всем, кто не понял чего я хочу подставить в коде, приведенном на 1й странице вместо: //задаем онлоад функцию ff.prototype.onLoad = function () вот это: //задаем онлоад функцию MovieClip.prototype.onLoad = function () А затем сохранить файлик куда-нить, сделать пустой файлик test.swf в этой же дире и перекомпилить файлик с кодом. Ну и есессно сравнить результаты (Output Panel) |
Вся проблема в том что если ты сделаешь
your_prototype = new Object (); your_prototype.onLoad = function () {trace ('walla');} var mc = this.createEmptyMovieClip ('loadTest', 1); mc.__proto__ = your_prototype; mc.loadMovie ('test'swf'); при окончании загрузки ты не получишь в оутпут walla, почему? потому что прототип измениться на дифолный при полной загрузки Мува то есть на MovieClip.prototype. Поэтому надо использовать внешний прелоадер либо через в MovieClip.prototype.onLoad - прописать некий менеджер... |
Спасибо тебе, мил человек!
Именно это я и хотел услышать. |
| Часовой пояс GMT +4, время: 17:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.