PDA

Просмотр полной версии : Как же работает _xmouse?


van4es
06.04.2009, 18:57
Нужно было решить очень простую задачу: узнать положение мышки относительно клипа.

this.attachMovie("scaleLoaded", "scaleLoaded", this.getNextHighestDepth());
scaleLoaded._x = 20;
scaleLoaded._y = 20;

scaleLoaded._width = 400;
scaleLoaded.onRelease = function()
{
trace(this._width);
trace( this._xmouse );
}

в библиотеке scaleLoaded имеет ширину 10 пикселей, так вот, что получается....даже после динамического изменения ширины, флэш учитывает ширину клипа, которую он имел в библиотеке.

Результаты трэйса: ширина = 400, т.е. динамически изменённая, а вот _xmouse исходя из ширины в библиотеке.

Что с этим делать?

fljot
06.04.2009, 19:13
ну либо умножать на _xscale, или через localToGlobal.. в зависимости от условий задачи

van4es
06.04.2009, 19:22
задача простая: чтобы _xmouse выдовала значения от динамически изенённой ширины, т.е. когда кликаю на правом крае клипа трейсилось бы 400.


scaleLoaded.onRelease = function()
{
trace(this._width);
trace( this._xmouse * this._xscale );
}


выводит что то очень большие значения.

fljot
06.04.2009, 20:31
ну так в ас1/2 _xscale 100 значит неизменённый масштаб.. поделить надобно ещё на 100