![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
2 Mur4ik
Это же только тогда, когда длина полоски перетаскивания маркера равна той стороне, которую изменяет маркер, верно? 2 greenhill Вообще нужно вычислить, чему равны пиксели в одном проценте от длины трека бегунка, затем перевести в десятичную дробь и текущее положение бегунка разделить на полученное значение. Получается, что если бегунок находится по середине трека, что означает 100%, и мы его двигаем, скажем, вверх, то должно произойти уменьшение картинки, то есть будет меньше 100%. Так же и наоборот. координатаБегунка / (общаяДлинаТрека / 100)) / 100) Вот как-то так я реализовывал скролл громкости.
__________________
тут я |
|
|||||
|
ветеран форума
|
2 КорДум, при чем здесь скролл?
Я так понял маркеры имеются ввиду как по типу в графических редакторах (маленькие квадратики по углам и центрам сторон изображения, таская которые, меняются параметры изображения).
__________________
trace("Остановите Землю, я сойду!!!"); |
|
|||||
|
это вроде ясно, а как двигать маркер, но чтоб он при этом двигался только по диагонали, под углом 45 градусов?
__________________
http://zenpro.blogspot.com/ |
|
|||||
|
ветеран форума
|
Цитата:
Например чтоб двигать вверх-вправо нужно
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 21.07.2010 в 14:49. |
|
|||||
|
На одинаковую величину?
Но так ничего не меняется по сути. Надо чтоб маркер двигался по линии, когда я его двигаю. Чтоб за границы этой линии он не выходил. То есть его движения ограничены линией под 45 градусов. Что-то я не понимаю, сори ![]()
__________________
http://zenpro.blogspot.com/ |
|
|||||
|
ветеран форума
|
Цитата:
// вправо-вверх marker.x += offset; marker.y -= offset; // вправо-вниз marker.x += offset; marker.y += offset; // влево-вверх marker.x -= offset; marker.y -= offset; // влево-вниз marker.x -= offset; marker.y += offset; Но это в случае если изображение у вас квадратное всегда.
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 21.07.2010 в 15:02. |
|
|||||
|
Ага, это вроде понятно.
Чтоб просто двигать объектом у меня был такой когд: private function markerDown(event:MouseEvent){ var sprite_marker:Sprite = Sprite(event.target); sprite_marker.startDrag(); sprite_marker.addEventListener(MouseEvent.MOUSE_MOVE, markerMove); } private function markerUp(event:MouseEvent){ var sprite_marker:Sprite = Sprite(event.target); sprite_marker.stopDrag(); sprite_marker.removeEventListener(MouseEvent.MOUSE_MOVE, markerMove); } private function markerMove(event:MouseEvent):void { event.updateAfterEvent(); }
__________________
http://zenpro.blogspot.com/ |
|
|||||
|
ветеран форума
|
убирайте sprite_marker.start/stopDrag();
вместо sprite_marker.addEventListener(MouseEvent.MOUSE_MOVE, markerMove); ... sprite_marker.removeEventListener(MouseEvent.MOUSE_MOVE, markerMove); и в markerMove меняйте размеры изображения и относительно измененных размеров изображения меняйте положение вашего маркера.
__________________
trace("Остановите Землю, я сойду!!!"); Последний раз редактировалось Mur4ik; 21.07.2010 в 15:56. |
|
|||||
|
Спасибо огромное. Я вас уже люблю
![]()
__________________
http://zenpro.blogspot.com/ Последний раз редактировалось greenhill; 21.07.2010 в 16:28. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|