Просмотр полной версии : помогите с registerClass!!!
mishinaelle
02.09.2003, 17:05
есть код в первом фрейме:
function Test(){
trace("i was created!!!");
}
Test.prototype=new MovieClip();
Test.prototype.printMe=function(){
trace("my name is "+this._name);
}
Object.registerClass("Test", Test);
код во втором фрейме:
_root.attachMovie("Test", "testmovie", 30);
_root["testmovie"].printMe();
или такой вариант:
attachMovie("Test", "testmovie", 30);
testmovie.printMe();
нифига ничего не трэйсится! :mad:
поиск не рулит!!! так как по этой теме уже прочитала все посты - ничего не помогло
:confused:
Пушистик
02.09.2003, 19:25
упс....2 раза получилось сорри....:)нет глючит!
Пушистик
02.09.2003, 19:25
MovieClip.prototype.printMe = function() {
trace("my name is "+this._name);
};
attachMovie("Test", "testmovie", 30);
testmovie.printMe();
можно в одном кадре.....
mishinaelle
02.09.2003, 19:29
блин, у меня же это написано, как второй вариант
и не пашет
ни если в одном ни если в двух.
?
iLoveYou
02.09.2003, 22:55
мож, я что не понял, но все работает у меня..
выводит
i was created!!!
my name is testmovie
Пушистик
02.09.2003, 22:59
ну как это не работает?:/
Вон и у Серёги всё ОК!:)
iLoveYou
02.09.2003, 23:03
да никто особо и не сомневался - код нормальный.
(у Сереги всегда все работает ;))
а _root.testmovie собственно наличествует? мож, линкаж не прописан толком?
mishinaelle
03.09.2003, 12:54
2 Пушистик:
в приведенном тобой примере ты сам поместил клип в библиотеку, а у меня в примере мувик добавляется программно. и именнов этом случае ни фига не работает
посмотрите пожалуйста исходничек!
просто бред какой-то :(
мне очень срочно нужно, помогите!
Пушистик
03.09.2003, 14:12
mishinaelle, ты чё за исходник дал....?там же просто код твой из первого поста.....
а у меня в примере мувик добавляется программно
а у меня как он добовляется?
mishinaelle
03.09.2003, 14:20
2Пушистик: у тебя в примере он лежит в библиотеке - и ты добавляешь к прототипу метод. Посмотри, плиз, мой исходничек. ок?
Пушистик
03.09.2003, 15:42
а ты чё аттачишь.....?класс???
mishinaelle
03.09.2003, 15:58
function Test(){
trace("i was created!!!");
}
Test.prototype=new MovieClip();//объявляем, что Test является мувиклипом
Test.prototype.printMe=function(){
trace("my name is "+this._name);
}
Object.registerClass("Test", Test);//добавляем Test в библиотеку
attachMovie("Test", testmov, 10);//аттачим экземпляр класса
testmov.printMe();
данная метода была почерпнута из хелпа по flashу
если создавать класс - потомок не мувиклипа, а Object, то никаких проблем.
Пушистик
03.09.2003, 16:57
Test.prototype=new MovieClip();//объявляем, что Test является мувиклипом
так незя создать новый клип...так можно просто унаследовать методы класса MovieClip!то есть создать надкласс ...Но никакого муви клипа ты не создаешь!Поэтому и нечего атачить....
муви клипы создаеются с помошью метода createEmptyMovieClip();...
Пушистик
03.09.2003, 17:06
function Test(name) {
this.name = name;
_root.createEmptyMovieClip(this.name, 1);
this.drawSquare = function() {
with (name) {
lineStyle(0, 0x000000, 100);
moveTo(200, 200);
lineTo(220, 200);
lineTo(220, 220);
lineTo(200, 220);
lineTo(200, 200);
}
};
this.printMe = function() {
trace("my name is "+this.name);
};
}
mc = new Test("mc");
mc.printMe();
mc.drawSquare();
mishinaelle
03.09.2003, 18:21
2 Пушистик:
ты не прав. открой flash, нажми f1, зайди в раздел ActionScript dictionary и посмотри статью Object.registerClass. Там черным по белому написано, что именно так можно :D
читайте хелп, уважаемые! :p
mishinaelle
03.09.2003, 18:58
2 Пушистик:
извини, ты действительно прав!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.