![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2006
Сообщений: 4
|
Я так понял события у мувиклипа onResize нет. И класс с параметрами делать неохото.
Как сделать, чтобы при изменении размеров мувиклипа, в нём выполнялся скрипт? |
|
|||||
|
Ветеран форума
|
Постоянно отслеживать его размер и при изменении выполнять функцию
__________________
BestMasterиZация |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 188
|
я использую такую конструкцию :
ссори... на мувие она не работает ...,а на Stage все нормально Последний раз редактировалось Storm[pfp]; 08.04.2006 в 11:38. |
|
|||||
|
Вспомнился мне анегдот:
"Сидит безногий ребенок (Р) и смотрит мультики по телевизору. Приходит добрый папа (П) и переключает ну футбол. (Р) папа, ну там же мульитки. (П) встань и переключи (Р) пап ну у меня же нету ножек... (П) НЕТУ НОЖЕК - НЕТУ МУЛЬТИКОВ" напиши класс который это будет делать и не парься - там 33 строчки кода. |
|
|||||
|
Цитата:
|
|
|||||
|
ага силин прав.
Я только что попробывал, пол часа времени потратил((... плохо незнать мат. части |
|
|||||
|
точно, если все классы во флеше были бы наследниками Object (как это принято в оо языках), то бы получилось.
кстати можно просто пойти в обратном направлении, и всё получится))) : _root.createEmptyMovieClip("m", 0); m.lineStyle(0,0x000000); m.lineTo(50, 50); var w = new Object(); w._width = 0; w._height = 0; var c = function(p, o, n, d){ d[p] = n; trace(d._name+"."+p+" changed to - "+n); } w.watch("_width", c, m); w.watch("_height", c, m); // w._width = 100; w._height = 100; во! помоему классно) могу класс универсальный накатать если кому надо. |
|
|||||
|
Цитата:
:class propWatcher {
// by neelts
// funcs = new Object{o:someObject, f:someFunction, a:functionArgs}
function propWatcher(object, funcs, props:Array) {
object._prop = new Object();
var p = object._prop;
p._object = object;
p._f = funcs;
p.change = function(prop:String, ov, nv, object) {
object[prop] = nv;
this._f.f.call(this._f.o, this._f.a);
};
p._add = function(prop:String) {
this.watch(prop, this.change, this._object);
};
p._del = function(prop:String) {
this.unwatch(prop);
};
for (var i in props) {
var pi = props[i];
p[pi] = object[pi];
p._add(pi);
}
}
}
пример использования: _root.createEmptyMovieClip("m", 0);
m.lineStyle(0,0x000000);
m.lineTo(50, 50);
var p = new propWatcher(m, new Object({f:tracer, o:_root}), ["_width", "_height"]);
function tracer(){
trace("changed");
}
//
m._prop._width = 10;
m._prop._add("_alpha");
m._prop._alpha = 50;
m._prop._del("_height");
m._prop._height = 100;
Последний раз редактировалось neelts; 08.04.2006 в 18:12. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|