Растяни, уменьши, поверни и спрячь их
Сегодня мы разберём основные свойства Movie Clip объектов во Flash, с помощью которых можно уменьшать, увеличивать, перемещать по осям X и Y, скрывать и делать объекты невосприимчивыми к стандартным событиям типа onPress, onRelease.
Свойства объектов Flash, как же вас много
На самом деле свойств у Movie Clip объектов огромное количество, и говорить о них всех, в рамках этой статьи, нет смысла. Лучше, если вам требуется узнать про какое-то определённое свойство, напишите мне об этом, и я либо сделаю урок, либо отвечу вам на мыло. А, пока, записываем свойства, которые мы будем разбирать сегодня:
1. _x — определяет координату нашего Movie Clip’а по оси X;
2. _y — определяет координату мувика по Y;
3. _width — указывает ширину объекта в пикселях;
4. _height — определяет высоту;
5. _xscale — ширина объекта в процентах от «базовой» ширины. «Базовая» ширина равна 100 процентам;
6. _yscale — процентное значение высоты объекта;
7. _alpha — прозрачность Movie Clip’a. Принимает значение от 0 до 100. Где 0 - объект полностью скрыт;
8. _rotation — угол поворота объекта;
9. enabled — если свойство равно true, то клип нормально реагирует на стандартные события типа нажать (onRelease), навести (onRollOver) и др. При enabled равном false нажать, допустим, не удастся;
10. _visible — отображение объекта на экране. Если _visible равно true, то объект виден, если false, то скрыт. При _visible равном false объект не реагирует на стандартные события (см. enabled).
Посмотреть, на что влияют те или иные свойства, вы можете в примере. Для большей наглядности изменения я использовал класс Tween. На мой взгляд, всё получилось, достаточно понятно и просто, так что разобраться должен каждый =) К тому же исходник изобилует комментариями.
Сама флешка » | Исходник » |
а как сделать чтобы при нажати клавиши изменялись какие либо свойства объекта?
mc_x.on(keyPress "") = function() {
}
делаю так пишет ошибку..
Посмотрите исходник и как там реализован «отлов» событий (первый кадр главной временной шкалы -> F9).
artem_pnk, делайте так:
Key.addListener(mc_x); mc_x.onKeyDown = function() { // }А можно программно изменить точку регистрации объекта (начало координат)?
Насколько я знаю, нет. А для чего вам это нужно? Опишите подробнее, что-нибудь придумаем)
При увеличении масштаба карты возникает проблемка. т.к. уплывает в сторону нужный участок (если он не находится в точке начала координат).
Постоянно при изменении масштаба двигать сам мувик карты на какоето расстояние (процентное отношение положения участка*половина приращения линейных размеров) несовсем получилось. Очень грамоздко и множественные округления приводят к неточным вычислениям. А вот еслиб можно было поменять точку начало координат, всеб упростилось.
Думаю надо создать пустой мувик поставить его в середину окна и загрузить туда карту. Координаты по осям менять у карты а масштаб у предъидущего мувика.
Да это лишнее)
А какие в вашем случае громоздкие вычисление и округления нужны? Видимо, вы сдвигаете карту только по горизонтали или только по вертикали, а нужно по обеим осям, всё должно получаться аккуратно)
Просто от _x отнимаете половину увеличения по ширине, от координаты _y отнимаете половину увеличения по высоте.
Пример кода можно?
Половину увеличения отнимать можно, но на сколько я понимаю только тогда, когда пользователь смотрит на край карты. А если он хочет увеличить участок находящейся гдето между серединой и краем...
Я высчитывал процент (середина 0%, край 100%) и умножал половину увиличения на этот процент. :) В общем я не селен в нахождении правильных решений, но с разными слоями получилось проще.
я вот непонемаю куда вставлять скрипты? В мувиклип,графику,в кнопку или в рисунок ,или во фрейм.
Скачайте и посмотрите исходники, может быть вам станет яснее.
Ну впринципе в любое из перечисленного) Смотря какие цели ты преследуешь и на каком языке делаешь.
Например AS2: Тут на мувиклип,графику, кнопку, рисунок можно наложить типа OnPress и т.п. А дальше применять данные параметры опять же к подобным объектам. Надеюсь что ты понимаешь, что к фрейму применить например _x не получится)
В AS3 скрипты вставлять ТОЛЬКО ВО ФРЕЙМ!!! но там ввобще всё сложно.
Правильно сказал админ, скачайте исходники. Но судя по вашему уровню знаний, лучше качать книги,видеоуроки и т.д.
Странно, у меня не работает урок http://www.flashist.ru/questions/vsplyvayushchee-okno (так не могу комментировать) в СS4,пишет, множество ошибок
и последующие плохие слова))Зашла в в flash Pro 8
Stage.scaleMode = "noScale"; import mx.transitions.Tween; import mx.transitions.easing.*; women_mc.onRelease = function() { var _newYScale:Number var _newXScale:Number if(this._yscale == 50){ _newXScale = 100; _newYScale = 100; }else{ _newXScale = 50; _newYScale = 50; } this.tweenXScale = new Tween(this , "_xscale", Regular.easeOut, this._xscale, _newXScale, 1, true); this.tweenYScale = new Tween(this , "_yscale", Regular.easeOut, this._yscale, _newYScale, 1, true); };- всё запустилось и работает)) Я не понимаю, в чём дело, объясниет, пожалуйста))
кстати нашла в том примере баг или как там это называеться, если кликнуть по картинке во время её перехода в другой размер, то после становления она возврату в противоположный размер не идёт
Ещё страннее- создала во Flash 8 открыла в CS4 - всё работает))) чудеса))
и ещё вопрос- где в CS4 найти панель parameters?, ну там можно задавать на движении скорость, менять сами параметры кнопки и остального, а то в 8-м есть, а в CS4 не могу найти(((
К сожалению я не могу сказать вам, в чём были проблемы, возможно просто глюк Flash.
Что касается создания Flash проектов в разных версиях Flash IDE, то это нормально, что версии созданные в более ранних Flash IDE запускаются в более поздних версиях.
А вкладку parameters можно найти нажав F3 или в пункте меню Windows найти пункт Parameters.
Спасибо))) нашла))
Как сделать анимацию перетаскивания объекта мышью и его поворота