![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 40
|
Уважаемые Дамы и Господа!
Еще один вопрос от новичка. Суть следующая: На сцене лежит полупрозрачный мувик, который всем своим видом говорит нам, что он как бы дым. Назовем его smoke. Ширина сцены 1024, высота, соответственно 768. Задача: если курсор мыши переходит в левую часть экрана, то smoke должен сдвинуться вправо, если курсор уходит в правую часть экрана, соответственно, smoke уходит влево. то же про вверх и вниз... Как придумал решить: Ничего не происходит... И, кстати, хотелось бы сделать движение плавным... Где ошибка и как придать плавности? Подскажите плиз!!! |
|
|||||
|
Модрон-ветеринар
|
Главная ошибка в том, что у вас проверка условий не выполняется.
Вернее, выполняется один раз, при начальном исполнении кода. А вам нужно ее выполнять непрерывно. onEnterFrame или setInterval вам в помощь. И приравнивание значения пишите через "=", == - это сравнение. Добавлено через 3 минуты И почему у "x" такие дикие отрицательные значения? На _root это где-то далеко слева за областью сцены. Возможно, вы имели ввиду: Последний раз редактировалось mooncar; 21.09.2009 в 02:04. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 40
|
Благодарю!!! Хммм...
Теперь код выглядит: var x1:Number = 250; var x2:Number = 774; var y1:Number = 150; var y2:Number = 618; var xc = _xmouse; var yc = _ymouse; onEnterFrame = function(){ if (xc<x1) { _root.bg_2._x = -924; }; if (xc>x2) { _root.bg_2._x = -1124; }; }; Добавлено через 33 секунды Все равно не работает((( Добавлено через 2 минуты Хммм... для меня бы могла стать решением проблемы возможность инвертировать движение мувика при использовании функции .startDrag()... Это возможно? |
|
|||||
|
Модрон-ветеринар
|
А при чем тут startDrag?
У вас опять беда - вы всего один раз проверяете значение мышкиных координат. Попробуйте так: var x1:Number = 250; var x2:Number = 774; var y1:Number = 150; var y2:Number = 618; this.onEnterFrame = function(){ if (_root._xmouse < x1) { _root.bg_2._x = -924; } if (_root._xmouse > x2) { _root.bg_2._x = -1124; } }; Зачем точка с запятой в конце тела операций if? Откуда это? |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 40
|
Недавно я в as в общем...)) И вообще я дизайнер)))))
Добавлено через 3 минуты Спасибо огромное!!! Заработало вродь))) Позвольте еще вопрос, как сделать перемещение мувика в новые координаты плавным? |
|
|||||
|
Модрон-ветеринар
|
Оно понятно, я тоже не флешер, но учебники-то и примеры по AS более или менее у нас одинаковые ведь были в массе?
![]() |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 40
|
=))) Хых)) У меня только справочник имеется))) Но очень хороший
![]() |
|
|||||
|
Модрон-ветеринар
|
Настолько хороший, что в нем указывается, что в конце блока выражений {} нужно ставить точку с запятой? Не верьте ему.
Точка с запятой ставится в конце одного выражения: Тут не ставится: |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 40
|
Позвольте еще вопрос, как сделать перемещение мувика в новые координаты плавным?
|
|
|||||
|
Модрон-ветеринар
|
Сделайте не единичную установку новых координат
а приращение: или знак другой, разберетесь... смысл понятен? |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|