Измените размер мувиклипа, не испортив координаты мыши

Как мне это сделать? У меня есть панель поиска, размер которой я модифицирую с помощью FLVPlayback. Прямо сейчас он получает mouseX, когда вы нажимаете на панель поиска, и делит его на длину панели поиска, чтобы узнать, к какому проценту он должен стремиться.

Моя проблема в том, что теперь, когда я динамически устанавливаю ширину мувиклипа поиска, ширина возвращает ширину, которую я установил, в то время как событие мыши возвращает позицию, как если бы она была исходной шириной, которую она имеет в библиотеке.

Как обойти эту проблему?


person Joren    schedule 28.08.2009    source источник


Ответы (2)


Просто масштабируйте по исходной ширине, которая у вас была. Скажите, что у вас есть полоса шириной 100 пикселей, просто введите:

var seekTo:Number = seekbar.mouseX / 100;

Это даст вам процент кликов независимо от текущей ширины панели поиска.

Красиво и легко, и не нужно никаких причудливых преобразований координатного пространства.

person grapefrukt    schedule 29.08.2009
comment
Это в основном то, что я сделал, но я использовал ниже, чтобы мне не нужно было знать исходную ширину: var pointerX:Number = e.localX; var процент:Число = указательX * this.seekHit_mc.scaleX / this.seekHit_mc.width; Как, черт возьми, мне заставить это выйти отформатированным? Это читается как бред. - person Joren; 01.09.2009

Объект MouseEvent имеет свойства stageX и stageY — вам просто нужно сместить эти значения на позицию клипа, и вы должны быть установлены.

person Branden Hall    schedule 29.08.2009