Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Функция как метод в нарисованном клипе (http://www.flasher.ru/forum/showthread.php?t=117619)

dark256 31.10.2008 15:13

Функция как метод в нарисованном клипе
 
Вложений: 1
Второй день ломаю голову!
Есть клип, условно говоря "кружочек". Нарисованный прямо на поле.
Открываю его, создаю второй лэер и на нем пишу скрипт:

Код:

var STRT = new function ()
{
        trace("StartFunc");
}

Выхожу из редактирования и обзываю клип в свойствах - TRY.

На осн. временной шкале, то есть из _root пишу скрипт:
TRY.STRT();

Функция не срабатывает.
При перечислении ее свойств и методов for-in там также пусто.

Хочу затолкать функцию именно в такой вот рисованный клип, и по мере необходимости типа вызывать встроенную в него функцию-метод работы этого клипа. Не выходит никак :))))
Долго муторно читал про конструкторы, инициализаторы, прототипы и т.п. ниччо не понял, горюю :) Подскажите...

Добавлено через 1 минуту
Соотв если прицепить к нему метод с root - то прокатывает. Но мне надо именно внутри иметь функцию... Ведь можно ж это как-то.....

iNils 31.10.2008 15:26

Код:

#initclip
function STRT () {
        trace ("StartFunc");
}
#endinitclip

и вызвать просто
Код:

STRT();

dark256 31.10.2008 15:31

Да! Но предполагается что таких клипов аттачится штук 100, внутри у него собссно процедура запуска таймера. И часики. Клип лежит себе лежит, и тут мне внутри него надо включить каунтдаун. К примеру. Вызываю функцию и он там начинает тикать и все показывать :)

Соотв обращения хочется иметь вида this["TRY"+i].STRT();

#initclip - это ж вроде из флеша-6 или что-то еще более древнее?

Добавлено через 2 минуты
Хочется чтобы фнкция стала МЕТОДОМ клипа... во....

INK• 31.10.2008 16:10

Цитата:

Сообщение от dark256 (Сообщение 774074)
Хочется чтобы фнкция стала МЕТОДОМ клипа... во....


Код:

MovieClip.prototype.start = function(){
trace("start"+this._name)
}

my_mc1.start()

стала

dark256 31.10.2008 16:17

Внутри клипа прописываю твой код :)
клип на руте называется TM

Код:

TM.start() - трэйс не запускается.

for ( var tt in TM) { trace(tt)};

- в клипе методов так и нет.

Глянь исходник плиз :)

MrXoT 31.10.2008 17:30

в клипе пишешь который аттачишь (имя линка будет "qw")

Код:

#initclip
sd = function(){
        trace("true")
        this.func2 = function(){
          trace("true2");
        }
}

sd.prototype = new MovieClip();
Object.registerClass("qw", sd);
#endinitclip

а вызов простой
Код:

attachMovie("qw", "qw", 1);
qw.sd();
qw.func2();


dark256 31.10.2008 17:56

Угу.... Но при этом sd - отрабатывает при аттаче клипа, и в методах клипа не появляется. Фунс2 - является методом и нормально отрабатывает при вызове... Это так и должно быть или это следствие поставленной мной идиётской задачи? :)))
По крайней мере теперь хоть ясно куда копать :)
В целом - работает! Огр. спасибо за вот это: registerClass !!!


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

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