Просмотр полной версии : obj.prototype.on[event]
Енотовидная барабака
10.03.2004, 21:10
function checkbox(){}
checkbox.prototype = new MovieClip();
checkbox.prototype.someFunc = function(){
trace('onLoad')
}
checkbox.prototype.onLoad = function(){
someFunc();
}
CBin = new checkbox();
//никакого трейса :rolleyes:
CBin.someFunc();
//все работает
С другими эвентами та же картина...
Какая-то глупая ошибка наверное..
помогите плиз.
ЗЫ version - mx 2004 pro
A tak proboval, ilji ja shto to nje tak ponjal?
function checkbox(){}
trace('onLoad')
}
checkbox.prototype.onLoad = function(){
this.someFunc();
}
checkbox.prototype = new MovieClip();
checkbox.prototype.someFunc = function(){
}
Енотовидная барабака
10.03.2004, 21:33
Ты имел в виду без } в первой строке?
this. ничего не меняет..
вставлять trace в конструктор - тоже не помогает(хотя, я, честно гворя, не знаю что вообще туда можно вставлять - сталкивался только с пустыми конструкторами :confused: )
тут именно onLoad не вызывается =(
a shto imenna ti hochesh sdelatj?
Енотовидная барабака
10.03.2004, 21:42
ну точнее трейс в конструкторе срабатывает, а функция уже нет
Енотовидная барабака
10.03.2004, 21:45
Я хочу чтобы то что у меня между скобок{} В
checkbox.prototype.onLoad = function() {...}
выполнялось когда создается экземпляр объекта, тоесть когда и должно, как я понимаю - при выполнениии строки
CBin = new checkbox();
Ктоме того, то же для событий onPress и onEnterFrame
Nu togda:
checkbox=function (){
this.onLoad();
}
checkbox.prototype = new MovieClip();
checkbox.prototype.someFunc = function(){
trace('onLoad')
}
checkbox.prototype.onLoad = function(){
this.someFunc();
}
Енотовидная барабака
10.03.2004, 21:55
Резонно :), спасибо.
А что делать с onPress и onEnterFrame?
Енотовидная барабака
10.03.2004, 21:58
о, до меня дошло! =)
Как раз таки в конструктор и надо запихать
this.onEnterFrame = function(){
trace("onEnterFrame");
}
Уря =)
Енотовидная барабака
10.03.2004, 22:10
чтото не то до меня дошло... :o
У классов евенты не работают. Это не клипы.
Читайте в хелпе про Object.registerClass
Мож поможет.
Imenna tak, class.prototype=new MovieClip();
nje delajet klass movieklipam, jeslji hochesh mozhesh peredavatj klip kak parameter i daleje s nim rabotat, no class.onEnterFrame raotat nje budet
Оригинал написал(а) Zirgz
Imenna tak, class.prototype=new MovieClip();
nje delajet klass movieklipam, jeslji hochesh mozhesh peredavatj klip kak parameter i daleje s nim rabotat, no class.onEnterFrame raotat nje budet
В этом случае checkbox.prototype=... будет влиять на все мувиклипы, в т.ч. на _root :(
Если создать исходный клип в библиотеке и ассоциировать его с классом методом Object.registerClass все будет чики-пуки, в т.ч. class.onEnterFrame.
ja prosta hotel skazatj shto odnavo klasa dlja raboti s eventami MovieClip njehvatajet - nada jeshcho i realnij klip
a registerClass harosh dlja klipov iz library a shto delat jeslji ti sozdajesh vsje objekti programmno a te katoriji nje mozhesh narisovat skriptom zagruzhajesh pri pomoshchi loadMovie?
mozhno tak:
someCustomBehaviour=function(movie){
for(var i in this){
movie[i]=this[i]
}
}
someCustomBehaviour.prototype.onEnterFrame=function(){
trace(this._x)
}
var customKlip = new someCustomBehaviour(something.createEmptyMovieClip("asdas", 0));
njeuveren na schot dannoi zapisji no ideja vrodi dolzhna rabotat
Енотовидная барабака
11.03.2004, 17:44
Cпасибо!
У меня все получилось =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.