PDA

Просмотр полной версии : Можно-ли в одном из свойств объекта сослаться на другое?


Torero
03.07.2007, 08:00
Доброго времени суток..
Вопросик возник: в цикле создается 30-100 объектов. Часть из них при onRollOver должна передвигаться по вертикали, другая часть - по горизонтали. могу-ли я завести свойство объекта "element._direction", в котором прописать, соответственно "_x" либо "_y", после чего, не париться, прописывая onRollOver для каждого из них(пусть даже в цикле), а просто передвигать "this" в направлении "this._direction". Если да, то подскажите пожалуйста как это сделать - Eval ругается, а прямое указание "this.direction=this._x" или "... ._y", естественно, не срабатывает.:(

Kikasso
03.07.2007, 08:32
mc.prop = '_x';
mc[prop] = 25;

etc
03.07.2007, 10:37
prop = '_x';
mc[prop] = 25;

silin
03.07.2007, 11:58
в результате:
mc.prop="_x";
mc[mc.prop]=25;
в том смысле чтоб работал общий метод
onRollOver=function(){
this[this.prop]+=10;
}

Kikasso
03.07.2007, 15:58
Ну да, именно в этом смысле. Сорри за дезинформацию.
В порядке исправления:

function getProp (){return this[this.axis];}
function setProp (val){ this[this.axis] = val;}

mc.axis = '_x';
mc2.axis = '_y';

mc.addProperty('prop', getProp, setProp);
mc2.addProperty('prop', getProp, setProp);

mc.prop = 20;
mc2.prop = 20;

function shiftMe(){ this.prop++; }
mc.onEnterFrame = mc2.onEnterFrame = shiftMe;

Torero
03.07.2007, 18:35
Большое спасибо. В очередной раз выручаете..))