Просмотр полной версии : масштабирование всего ролика колёсиком мыши?
Илья hatha
28.01.2008, 16:11
Возможно ли
масштабирование всего ролика колёсиком мыши?
Как сделать?
т.е та функция, которая в меню правой кнопки 100, 200, 400% увеличение и уменьшение - можно эту команду назначить колёсику?
А на правую кнопку вообще повесить руку, чтобы короче как в "дубь гис"
правой перемещаешься, левой выбираешь, колёсиком масштабируешь.
Сложно?
__________________________________________
рисую карту Новосибирска во флеше
Fernando Costa
28.01.2008, 16:20
на правую повешано контекстное меню и никак его полностью не убрать, а про колесико мыши читайте тут:
ActionScript classes > Mouse > onMouseWheel (Mouse.onMouseWheel event listener)
Илья hatha
28.01.2008, 17:14
спасибо! но боюсь что это слишком сложная инструкция для меня,..
нельзя ли просто "код", который можно вставить в кадр и всё? (:
http://www.bodrichenko.org.ua/map.html
- там карта увеличивается нажатием на мышь -тоже неплохой метод
можно кусочек этого кода?
Fernando Costa
28.01.2008, 17:28
можно, декомпилируйте, разрешаю :)
olexandr
28.01.2008, 18:00
var _listener:Object = new Object();
_listener.onMouseWheel = function(delta) {
_xscale += delta;
_yscale += delta;
};
Mouse.addListener(_listener);
вот код увеличнения-уменьшения
выравнивание с нужной стороны сделаешь сам (домашнее задание) :)
Илья hatha
28.01.2008, 19:19
отлично! спасибо olexandr.
но ещё было бы класнее, если бы увеличивалось именно туда, где находится мышь )
проверяйте координаты мыши и подгоняйте
Fernando Costa
28.01.2008, 19:44
проверяйте координаты мыши и подгоняйте
ага, в свое время я с этим жуть как напарился
Илья hatha
28.01.2008, 19:56
"проверяйте координаты мыши и подгоняйте" -
вы ещё не поняли что я чайник...
я могу только ctrl-c, ctrl -v делать ((
и задавать вопросы )
не ждите готового кода. задавайте вопросы
Molecula
28.01.2008, 20:18
Поиск рулит, сам искал когда-то.
Пример Силина.
ZOOM относительно курсора мыши:// f - навигируемый объект
Mouse.addListener(this);
function onMouseWheel(d) {
var s=f._xscale;
var mouseX=_xmouse;
var mouseY=_ymouse
var dx=(mouseX-f._x)/s;
var dy=(mouseY-f._y)/s;
f._xscale=f._yscale+=d;
s=f._xscale;
f._x=mouseX-dx*s;
f._y=mouseY-dy*s;
}
Илья hatha
28.01.2008, 20:54
как подгонять координаты мыши?
и может быть кто подскажет, как сделать всётаки масштабирование нажатием мыши?
Molecula
28.01.2008, 21:11
А выше код не помогает?
Илья hatha
28.01.2008, 21:43
да да, спасибо Molecula.. я просто протормазил. вашь код лучший.
только как увеличить шаг приближения? что бы быстрее приближался
Fernando Costa
28.01.2008, 21:47
d увеличь
olexandr
28.01.2008, 22:22
d - это твое "количество строк, прокручиваемых за один щелчок" в настройках мыши панели управления Windows
Илья hatha
28.01.2008, 23:08
так, значит d, это величина которую нельзя увеличить в коде?
только в виндовсе?
pyatifan
28.01.2008, 23:42
http://flash-mx.ru/forum/topic_show.pl?tid=1551
Илья hatha
29.01.2008, 00:37
http://flash-mx.ru/src/zoom.zip
отличный пример. но кнопки то внутри не работают! Там какое-то непонятное обьяснение как это исправить, а окончательный вариант не выложен. :( элемент незавершённости вопроса остаётся..
var step:Number = Math.abs(d)/d * 10;
первой строчкой в обработчике
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.