Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Долбаный прототип не работает :((((( (http://www.flasher.ru/forum/showthread.php?t=43512)

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();
а вот если вместо нее подставить значение, то все ОК. Было и еще пара глюков, но все работает.
Еще раз всем спасибо...

john 06.03.2003 21:47

Вопрос следующий: где вы научились так писать???

Мне кажется, судя по вашему коду, за основу вы взяли книгу по флэш четыре, плюс хлелп флэш МХ....

Просто как раз пишу главу к моей книге.. Глава посвящена правильному написанию кода во флэш.... и ваш код очень... так сказать иллюстративен....

УильямБрэдберри 06.03.2003 21:52

Цитата:

Оригинал написал(а) Nox Noctis
вообще ничего такое сочетание в коде... =)
registerClass и setProperty... мутант будущего и динозавр позапрошлого :))

ГЫ =)
метко!

присоединяюсь к Джону -
КТО ВАС ТАК НАУЧИЛ? :D

john 06.03.2003 22:06

Хочу прояснить: это не "наезд" это просто вопрос.

Мне действительно интересно.
Такое скрещивание новых и древних конструкций я и до вас видел.... но чтобы так. и регистрКласс и сетПроперти....

Какую литературу читали?


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

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