![]() |
Долбаный прототип не работает :(((((
Ситуация:
Нуна создать прототип объекта меню функции: открывать закрывать регистрировать Айтемы Глюк Не работает прототип как Мувик.... логический (ну типа массива) - пашет, а вот так, чтоб мона было к нему мувик присобачить- глюк! Вопрос: В чем ошибка, кроме ДНК? Если класс создается из основного фрейма ... ИДЕИ ЕСТЬ??? |
есть одна идея - покажи как ты это делаешь :)
|
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 - я не могу и к ним обратиться :((( уже мозги кипят :((( где тупая ошибка? |
Код:
function runeClass(){ |
вообще ничего такое сочетание в коде... =)
registerClass и setProperty... мутант будущего и динозавр позапрошлого :)) и вообще - Name=new runeClass(MIID); ничего тебе толкового не создаст. Object.registerClass привязывает линкейдж клипа к калссу... то есть у тебя есть клип, в библиотеке у него есть линкейдж, и все инстансы этого клипа будут тогда принадлежать не классу МувиКлип, а твоему зарегистрированному классу... без клипа никак. |
Поясняю:
1. MIID беру из XML он грузится, и только после этого запускаю функцию, там стоит трейс и он отлично все трейсит 2. И просто тупо Аттачил мувики этого прототипа, тоже фигня... клонирование не катит.... :( 3. пробовал даже писать регистерКласс на каждый мувик в отдельности проблема не только в том, чтоб наклонировать эту порнографию, а и в том, что бы вызвать конкетную функцию, типа MIID.openRune(); MIID - ID пункта меню, значение типа MI3 (MenuItem3... не таак важно) может кто знает что-то умнее, может принципиально по-другому? нужна полная динамика. Сенькс :) |
Спасибо всем за Ваши советы.
Проблема решилась тихо-мирно. дело в том, что функцию низзя было вызывать через переменную, типа MIID.openRune(); а вот если вместо нее подставить значение, то все ОК. Было и еще пара глюков, но все работает. Еще раз всем спасибо... |
Вопрос следующий: где вы научились так писать???
Мне кажется, судя по вашему коду, за основу вы взяли книгу по флэш четыре, плюс хлелп флэш МХ.... Просто как раз пишу главу к моей книге.. Глава посвящена правильному написанию кода во флэш.... и ваш код очень... так сказать иллюстративен.... |
Цитата:
метко! присоединяюсь к Джону - КТО ВАС ТАК НАУЧИЛ? :D |
Хочу прояснить: это не "наезд" это просто вопрос.
Мне действительно интересно. Такое скрещивание новых и древних конструкций я и до вас видел.... но чтобы так. и регистрКласс и сетПроперти.... Какую литературу читали? |
| Часовой пояс GMT +4, время: 21:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.