![]() |
изменение размера клипа
День добрый ,Джентельмены.
в виде урока решил написать простенькую программку и весело споткнулся на ней :) Сценарий простой: при наведении мышки на объект (шар) он должен постепенно увеличиваться в размерах в зависимости от положения курсора мыши,чем ближе к центру шара,тем размер шара больше, при выходе мыши за пределы границ размер шара восстанавливается. Как правильно написать вышеуказанный сценарий? Мой вариант такой: Создаем клип ball_mc с радиусом 100 Задаем переменные : «точка1» , «точка 2», «коэффициент». Задаем свойства «точек» (надо ли это делать не знаю) Привязываем координаты «точки1» к координатам мыши , а «точку2» к координатам центра шара. Задаем условие : Если координата x «точки1» >= x «точки2»-100 и x «точки1» <= x «точки2»+100 и то же для у, то выполняется выражение : Вычисляется «коэффициэнт» Если х «т1» >= х «т2» -100 и х «т1» <= х «т2» то К = х «т1» -( «хт2»-100) Иначе К = ( х «т2»+100)-х «т1» Далее K=K/100 Далее размеры клипа увеличиваются _scale=100*(1+K) Выражение заканчивается. Таким образом имеем максимальное увеличение шара в 200 процентов Джентельмены, рабочий ли такой сценарий? Какие поправки или изменения нужны? И как все это на язык ActionScript2 перевести? Есстественно у меня ничего не работает :)... Второй вариант родился позже...думается надо использовать функцию. написал такой код : function grow ( ) { var xB ;// точка привязанная к центру шара var xM ;// как бы точка привязанная к указателю мыши var k ;// коэффициент,необходимый для вычислений xB = _this._x; xM =_root._xmouse; if (xB >= xM-100 && xB<=xM) { k=xB-(xM-100); k=k/100; ball_mc._scale= 100*(1+k); } } Ball_mc.onRollOver = grow ; Помидорами в начинающих просьба не кидать. |
Держи и не мучайся
Код:
ball_mc.onEnterFrame = function() { |
благодарствую :)
..... из к.ф " белое солнце пустыни" -тебя сразу убить,или помучаешься? -уж лучше помучаюсь... :) |
ух...почти разобрался...
не могу понять строчки с 11 по 15...если можете,прокоментируйте их... и еще момент,клип ведет не совсем так...вопрос в пропорциях изменения,он должен быть линейным, а в вышеуказанном сценарии шар увеличивается значительно больше при подходе к центру, а на краях почти не реагирует на мышь... еще раз спасибо (благодаря вам,еще немного знаний черпнул) |
и еще один интересный моментик, клип как-то с замедлением реагирует на мышь...то есть если быстро провести мышью по шару,то он не успевает увеличиться...а как увеличить скорость изменения размера? (чтоб синхронно с проходом указателя мыши изменялся?)
.... но в любом случае здорово, уже можно кнопки поинтереснее делать. |
Цитата:
Код:
ball_mc.onEnterFrame = function() { |
Измени 100 на 50 (кроме(-Math.abs(D)+100)*2 здесь попробуй подставить свое значение) увидиш что выйдет
|
Джентельмены,прокоментируйте эту строчку пож.
var delta_scaleX = this.scale_X - this._xscale; понятно,что задаем переменную и присваиваем ей значение, только я въехать не могу,что такое _xscale....и если можете,то растолкуйте ,как Фидель Кастро,по пунктам это выражение...ну не пойму я его никак.. |
_xscale это маштабирование по горизонтали
|
ну ты даешь, жми F1
|
| Часовой пояс GMT +4, время: 00:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.