Просмотр полной версии : Реакция на мышь
Fridhelm
05.10.2006, 09:46
Господа не подскажете каким образом сделать элемент который будет реагировать на движение мыши. Меня интересует только реакция то-есть - у меня есть скажем текст он изначально статичен, но как только человек начинает двигать мышью текст должен шевелится. Не важно как он будет двигать и в каком направлении, а как только мышь замирает на месте движение прекращается. То-есть активность мыши врубающая анимационный элемент. Похожий эффект на сайте http://www.amaddel.com/amaddel.html там эффект с вертикальными линиями.
Помогите кто может.
Отдельной такой функции не помню. Возможно стоит обратить внимание на свойства мувиклипа _xmouse и _ymouse.
Juice_Green
05.10.2006, 10:22
myclip.onRollOver = function():Void {
this.onMouseMove = function():Void {
trace("Перемещение == x:"+this._xmouse+" y:"+this._ymouse);
}
}
myclip.onRollOut = function():Void {
delete this.onMouseMove;
}
Fridhelm
05.10.2006, 10:36
Извените Я забыл вас предупредить что я еще чайник!
А что мне делать с этим кодом? Т-е как его использовать?
Juice_Green
05.10.2006, 10:38
предупредить никогда не поздно,
вешать в главный фрейм. myclip - имя клипа, для которого нужно отследить перемещение мыши.
Fridhelm
05.10.2006, 11:00
А не могли бы вы обьяснить пошагово, а то я еще мало смыслю в тонкастях.
Спасибо
Подожди минт тридцать, я те пример скину и объясню
Juice_Green
05.10.2006, 11:13
вот рабочий пример полностью (код в главном фрейме):
this.createEmptyMovieClip("myclip", this.getNextHighestDepth());
this['myclip'].beginFill(0xFF0000, 100);
this['myclip'].lineStyle(1, 0x000000, 100);
this['myclip'].moveTo(100, 100);
this['myclip'].lineTo(300, 100);
this['myclip'].lineTo(300, 300);
this['myclip'].lineTo(100, 300);
this['myclip'].endFill();
this['myclip'].onRollOver = function():Void {
this.onMouseMove = function():Void {
trace("Перемещение == x:"+this._xmouse+" y:"+this._ymouse);
}
}
this['myclip'].onRollOut = function():Void {
delete this.onMouseMove;
}
если по простому, то делаете следующие действия:
1) рисуете, например, прямоугольник.
2) выделяете его полностью, жмете правой кнопкой мыши Convert to Symbol... -> выбираете MovieCLip -> Жмете кнопку ОК
3) нажимаете на нарисованный прямоугольник, внизу в панели Properties задаете ему Instance name "myclip"
4) нажимаете на свободную рабочую область, жмете F9, открывается панель Action, туда вставляете код с поста #3
5) тестируете приложение
Fridhelm
05.10.2006, 11:27
Не выходит. Может у вас есть исходник в котором можно порытси?
Juice_Green
05.10.2006, 11:30
всё намного сложнее - чем я думал :)
Fridhelm
05.10.2006, 11:57
Этот прямоугольник стоит на месте и всё!
Juice_Green
05.10.2006, 12:09
2 Fridhelm:
вы просили отследить реакцию мыши, вы её и получили. А что дальше должно происходить с прямоугольником (или с чем там), я думаю это лично заботы каждого
Fridhelm
05.10.2006, 12:13
Не шевелится
Fridhelm
05.10.2006, 12:15
Но мне надо чтобы было движения, я мало понимаю в скриптах, но если этот прямоугольник статичен то зачем этот скрипт, и как он работает тоже не понятно
Juice_Green
05.10.2006, 12:18
еще раз читаем, что писали
Fridhelm писал:
Господа не подскажете каким образом сделать элемент который будет реагировать на движение мыши. Меня интересует только реакция...
интересующею реакцию получили, а то, как и что будет у вас что двигаться Вам решать.
Fridhelm
05.10.2006, 12:35
И где реакция, если он стоит на месте
Juice_Green
05.10.2006, 12:42
она в окне output.
Fridhelm
05.10.2006, 13:33
А что такое окно АУТПУТ
Juice_Green
05.10.2006, 13:42
окно трассировки
если настройки стандартные не изменялись, то нажать F2
Fridhelm
05.10.2006, 13:50
Вы наверно не поняли что мне надо. У меня на сайте флэш вставка в ней скажем пропелер (Кручение пропелера уже задано в мови клипе). человек зашедший на сайт видит пропелер который не крутится а стоит ему шевельнуть мышкой начинает проигываться мовик кручения, мышка замерла он остановился, опять пошевелил, снова закрутился, вот что мне надо, наглядное действие
2 Fridhelm:
А шевельнуть - это переместить курсор на 1 пиксель? Совершить такое движение, которое и глазом-то увидеть сложно?
Fridhelm
05.10.2006, 15:57
Я очень далек от програмирования, скриптов и всей этой рутины, я по этому и пришел на этот форум! Ну да ладно чтонють придумаю!
Я очень далек от програмирования, скриптов и всей этой рутины, я по этому и пришел на этот форум! Ну да ладно чтонють придумаю!
В таком случае, вы ошиблись форумом. Здесь как раз программирование, скрипты и вся эта рутина.
2 Fridhelm:
Но вы так и не ответили на мой вопрос. Возможно, если бы вы сказали больше, вам бы помогли лучше.
Fridhelm
05.10.2006, 16:05
2 Хемуль просто движение курсора в приделах окна. Надо чтобы игрался клип. Без нажатий.
Fridhelm
05.10.2006, 16:06
Чтобы активность мышки была как кнопка плэй для определенного анимационного обьекта а бездействие - паузой
Juice_Green
05.10.2006, 16:34
попробуйте так - может в этот раз угадал (код в главный фрейм):
var flag_motion:Boolean = false; // флаг движения мыши
var time_inaction = 1000; // время бездействия мыши
var last_time = 0; // время последнего движения мышью
this.createEmptyMovieClip("myclip", this.getNextHighestDepth());
this['myclip'].beginFill(0xFF0000, 100);
this['myclip'].lineStyle(1, 0x000000, 100);
this['myclip'].moveTo(0, 0);
this['myclip'].lineTo(50, 0);
this['myclip'].lineTo(50, 50);
this['myclip'].lineTo(0, 50);
this['myclip'].endFill();
this['myclip']._x = 200;
this['myclip']._y = 200;
function validMotionMouse(clip:MovieClip):Void {
if (!_root.flag_motion) return;
if (getTimer()-_root.last_time > _root.time_inaction)
_root.flag_motion = false;
else
clip._rotation += 5;
updateAfterEvent();
}
setInterval(validMotionMouse, 50, this['myclip']);
_root.onMouseMove = function():Void {
this.flag_motion = true;
this.last_time = getTimer();
}
Fridhelm
05.10.2006, 16:38
Я накидал схематичный ролик в котором когда стрелка движется то крутится прямоугольник а когда движение прирывается картинка замирает а после возобновления движения прямоугольник продолжает верчение. Задача сделать так чтобы это пропелер вращался и останавливался в зависимости от движения мыши. Анимация уже задана осталось только дополнить ролик интерактивностью.
Fridhelm
05.10.2006, 16:40
Почти, только надо что бы проигрывалась анимированый мувиклип
Juice_Green
05.10.2006, 16:47
2 Fridhelm:
вы конечно извините уважаемый, но думаю команды play да stop сами додумаетесь вставить
Fridhelm
05.10.2006, 16:49
КУДА?
Fridhelm
05.10.2006, 17:00
Куда вставлять плэй, я не могу понять
2 Juice_Green:
См. сообщение номер 22. ^_^
Juice_Green
06.10.2006, 09:24
2 Хемуль:
все когда то были далеки от всего. два пути:
1) можно кого то пытать, и самому ничего не делать
2) включить свои извилины и хоть чуточку попробывать сделать что нить самому. А если это не интересно и работа разовая - то почему бы не в раздел вакансий ?!
Fridhelm
06.10.2006, 11:24
Дело не в том что я ничего не делаю, мне надо просто правильное направление, очень трудно врубится в скрипт особенно когда видишь его впервые, и не именно этот а в принципи. А если не хотите помочь то ине надо лишних разговоров.
2 Fridhelm:
Вам уже дали в этой теме нормальный ответ. Понимаете, если у вас проблемы в скриптах, вам помогут... Но если вам нужна помощь в плане того, куда вообще скрипты вставлять... Тут у многих опустятся руки...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.