Просмотр полной версии : Долбаный прототип не работает :(((((
VovAchka
02.03.2003, 18:15
Ситуация:
Нуна создать прототип объекта меню
функции:
открывать
закрывать
регистрировать Айтемы
Глюк
Не работает прототип как Мувик.... логический (ну типа массива) - пашет, а вот так, чтоб мона было к нему мувик присобачить- глюк!
Вопрос:
В чем ошибка, кроме ДНК? Если класс создается из основного фрейма ...
ИДЕИ ЕСТЬ???
Nox Noctis
02.03.2003, 20:01
есть одна идея - покажи как ты это делаешь :)
VovAchka
04.03.2003, 14:19
function runeClass(){
this.initRune(MIID);
}
runeClass.prototype= new MovieClip();
runeClass.prototype.InitRune=function (MIID) {
attachMovie("rune",MIID, 100-i,runeClass());
setProperty(this, _x, 95);
setProperty(this, _y, 37+i*40);
//Object.registerClass(MIID, rune);
trace(MIID+'YYYYYYYYYYY')
};
runeClass.prototype.openRune = function() {
setProperty(this.bottomholder, _y, getProperty(this.bottomHolder, _y)+elmNum*ElHeight);
setProperty(this.paper, _height, getProperty(this.paper, _height)+elmNum*ElHeight);
setProperty(this.rune.paper, _y, this.paper._y+0.5*getProperty(this.paper, _height));
trace("opened"+getProperty(this,_x));
};
runeClass.prototype.closeRune = function() {
setProperty(this.bottomholder, _y, getProperty(this.bottomHolder, _y)-elmNum*ElHeight);
setProperty(this.paper, _height, getProperty(this.paper, _height)-elmNum*ElHeight);
setProperty(this.paper, _y, this.paper._y-0.5*getProperty(this.paper, _height));
};
ElHeight = 10;
elmNum = 9;
Object.registerClass('runeClass',runeClass);
//-----------------------------------------------------------------------------
function createItem(MIID, MITip, MIFunc, i) {
Name=MIID
Name=new runeClass(MIID);
}
menu.load("./menu.xml");
Все переменные грузим из XML и они точно грузятся....
Пробовал много вариантов, но все никак....
при некоторых вариантах грузятся сами мувики, но к ним не проходят обращения через функции-прототипы, и более того, если даже напихать все функции внутрь мувика, который грузим, эффект=0 - я не могу и к ним обратиться :(((
уже мозги кипят :(((
где тупая ошибка?
DeliMIter
04.03.2003, 21:31
function runeClass(){
this.initRune(MIID);
}Сразу - ты миид не берешь ниоткуда. Дальше не шел. Ищи ошибки, трейси, шаг за шагом.
Nox Noctis
04.03.2003, 23:02
вообще ничего такое сочетание в коде... =)
registerClass и setProperty... мутант будущего и динозавр позапрошлого :))
и вообще - Name=new runeClass(MIID); ничего тебе толкового не создаст.
Object.registerClass привязывает линкейдж клипа к калссу...
то есть у тебя есть клип, в библиотеке у него есть линкейдж, и все инстансы этого клипа будут тогда принадлежать не классу МувиКлип, а твоему зарегистрированному классу...
без клипа никак.
VovAchka
05.03.2003, 00:30
Поясняю:
1. MIID беру из XML он грузится, и только после этого запускаю функцию, там стоит трейс и он отлично все трейсит
2. И просто тупо Аттачил мувики этого прототипа, тоже фигня... клонирование не катит.... :(
3. пробовал даже писать регистерКласс на каждый мувик в отдельности
проблема не только в том, чтоб наклонировать эту порнографию, а и в том, что бы вызвать конкетную функцию, типа MIID.openRune(); MIID - ID пункта меню, значение типа MI3 (MenuItem3... не таак важно)
может кто знает что-то умнее, может принципиально по-другому? нужна полная динамика. Сенькс :)
VovAchka
06.03.2003, 12:53
Спасибо всем за Ваши советы.
Проблема решилась тихо-мирно. дело в том, что функцию низзя было вызывать через переменную, типа MIID.openRune();
а вот если вместо нее подставить значение, то все ОК. Было и еще пара глюков, но все работает.
Еще раз всем спасибо...
Вопрос следующий: где вы научились так писать???
Мне кажется, судя по вашему коду, за основу вы взяли книгу по флэш четыре, плюс хлелп флэш МХ....
Просто как раз пишу главу к моей книге.. Глава посвящена правильному написанию кода во флэш.... и ваш код очень... так сказать иллюстративен....
УильямБрэдберри
06.03.2003, 21:52
Оригинал написал(а) Nox Noctis
вообще ничего такое сочетание в коде... =)
registerClass и setProperty... мутант будущего и динозавр позапрошлого :))
ГЫ =)
метко!
присоединяюсь к Джону -
КТО ВАС ТАК НАУЧИЛ? :D
Хочу прояснить: это не "наезд" это просто вопрос.
Мне действительно интересно.
Такое скрещивание новых и древних конструкций я и до вас видел.... но чтобы так. и регистрКласс и сетПроперти....
Какую литературу читали?
Nox Noctis
06.03.2003, 22:55
джон, ты нечто монументальное пишешь ? :))
2 Nox
Да стараюсь :)
Выложу весь свой опыт :)
За пять лет много наработок ...
Nox Noctis
06.03.2003, 23:29
все любопытственнее и любопытственнее :))
VovAchka
07.03.2003, 23:12
Дабы решить все вопросы (или почта все)... я не пользовался литературой, сетПроперти родился благодаря тому, что у меня в определенный момент написания этого сочинения чего-то там не работало, и я проверял все подряд... бывает такое после пива, а исправлять когда заработало, стало облом...
Джону: на авторские права претендовать не буду, можете иллюстрировать :)
Спасибо за критику... хотя я бы предпочел в дополнение практические советы :)
С уважением ко всем критикам, Владимир
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.