Просмотр полной версии : почему trace() не работает?
почему trace() не работает?
for (var i = 1; i<=12; i++) {
this["mc"+i]["fon"+i].onPress = function() {
this._parent.startDrag(false);
};
this["mc"+i]["fon"+i].onRelease = function() {
stopDrag();
trace(_parent["mc"+i]._y);
};
}
вместо _parent писал this, одна фигня undefined.
Также на _root не реагирует, может че со счетчиком?
Если написать trace(this.mc1._y); то все работает :wacko:
Потому, что выражение ["mc"+i] - вычисляется на момент вызова, а не когда написали. А поскольку вы используется не локальный для клипа i, а его предка, то к моменту получаете 12.
Надо так
for (var i = 1; i <= 12; i++) {
var mc:MovieClip = this["mc" + i]["fon" + i];
mc.i = i;
mc.onPress = function () {
this._parent.startDrag (false);
};
mc.onRelease = function () {
stopDrag ();
trace (_parent["mc" + this.i]._y);
};
}
chingachgoog
08.05.2008, 16:08
this._parent["mc"+this.i]._y
все равно undefined (оба раза)
Ну это уже проблема в адресации :)
_parent указывает на ["mc" + i], а вы в нем пытаетесь его найти :)
Ну это уже проблема в адресации :)
тогда почему _root не помогает, ведь он обращается с самого верха?
for (var i = 1; i<=12; i++) {
this["mc"+i]["fon"+i].onPress = function() {
this._parent.startDrag(false);
};
this["mc"+i]["fon"+i].onRelease = function() {
stopDrag();
trace(_root["mc"+i]._y);
};
updateAfterEvent();
}
Смотрим на синий код в сообщении номер два и применяем его к коду в сообщении номер 8.
А в чем сакральный смысл updateAfterEvent в данном коде?
получилось, только нифига не понятно (а это главное)
весь смысл в том, что после onRelease надо будет переопределить координаты клипа (клип будет останавливаться только по заданной сетке)
родительского.
представь себе сетку с шагом 10, так вот этот клип при перетаскивании должен останавливаться только на пересечениях линий сетки.
Роман Вадимович
08.05.2008, 18:48
Может это имелось ввиду?
var stepGrid:Number = 10; // Шаг сетки в пикселях
mc._x = Math.round(mc.x / stepGrid) * stepGrid;
mc._y = Math.round(mc.y / stepGrid) * stepGrid;
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.