2
фев
  Поговорим о свойстваx Movie Clip объектов в ActionScript 2.0 0 баллов
 

Растяни, уменьши, поверни и спрячь их


Сегодня мы разберём основные свойства 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. На мой взгляд, всё получилось, достаточно понятно и просто, так что разобраться должен каждый =) К тому же исходник изобилует комментариями.

Сама флешка » | Исходник »

Комментарии (16)   Автор: admin
Комментарии
artem_pnk
04.03.09 | 07:16
0 баллов

а как сделать чтобы при нажати клавиши изменялись какие либо свойства объекта?
mc_x.on(keyPress "") = function() {

}
делаю так пишет ошибку..

admin
04.03.09 | 10:53
0 баллов

Посмотрите исходник и как там реализован «отлов» событий (первый кадр главной временной шкалы -> F9).

Jekyll
20.04.09 | 18:39
0 баллов

artem_pnk, делайте так:

Key.addListener(mc_x); 
mc_x.onKeyDown = function() {
//
}

TiamaT
21.04.09 | 23:25
0 баллов

А можно программно изменить точку регистрации объекта (начало координат)?

Jekyll
22.04.09 | 10:58
0 баллов

Насколько я знаю, нет. А для чего вам это нужно? Опишите подробнее, что-нибудь придумаем)

TiamaT
22.04.09 | 14:47
0 баллов

При увеличении масштаба карты возникает проблемка. т.к. уплывает в сторону нужный участок (если он не находится в точке начала координат).
Постоянно при изменении масштаба двигать сам мувик карты на какоето расстояние (процентное отношение положения участка*половина приращения линейных размеров) несовсем получилось. Очень грамоздко и множественные округления приводят к неточным вычислениям. А вот еслиб можно было поменять точку начало координат, всеб упростилось.

TiamaT
22.04.09 | 15:43
0 баллов

Думаю надо создать пустой мувик поставить его в середину окна и загрузить туда карту. Координаты по осям менять у карты а масштаб у предъидущего мувика.

Jekyll
22.04.09 | 20:33
0 баллов

Да это лишнее)
А какие в вашем случае громоздкие вычисление и округления нужны? Видимо, вы сдвигаете карту только по горизонтали или только по вертикали, а нужно по обеим осям, всё должно получаться аккуратно)
Просто от _x отнимаете половину увеличения по ширине, от координаты _y отнимаете половину увеличения по высоте.
Пример кода можно?

TiamaT
25.04.09 | 11:18
0 баллов

Половину увеличения отнимать можно, но на сколько я понимаю только тогда, когда пользователь смотрит на край карты. А если он хочет увеличить участок находящейся гдето между серединой и краем...
Я высчитывал процент (середина 0%, край 100%) и умножал половину увиличения на этот процент. :) В общем я не селен в нахождении правильных решений, но с разными слоями получилось проще.

Гриша
02.07.09 | 20:09
-16 баллов

я вот непонемаю куда вставлять скрипты? В мувиклип,графику,в кнопку или в рисунок ,или во фрейм.

admin
02.07.09 | 21:54
2 балла

Скачайте и посмотрите исходники, может быть вам станет яснее.

JEX
02.07.09 | 22:47
16 баллов

Ну впринципе в любое из перечисленного) Смотря какие цели ты преследуешь и на каком языке делаешь.
Например AS2: Тут на мувиклип,графику, кнопку, рисунок можно наложить типа OnPress и т.п. А дальше применять данные параметры опять же к подобным объектам. Надеюсь что ты понимаешь, что к фрейму применить например _x не получится)
В AS3 скрипты вставлять ТОЛЬКО ВО ФРЕЙМ!!! но там ввобще всё сложно.
Правильно сказал админ, скачайте исходники. Но судя по вашему уровню знаний, лучше качать книги,видеоуроки и т.д.

И.Р.И.Н.А
25.03.10 | 09:42
0 баллов

Странно, у меня не работает урок http://www.flashist.ru/questions/vsplyvayushchee-okno (так не могу комментировать) в СS4,пишет, множество ошибок

1119: Обращение возможного неопределенного свойства scaleMode через ссылку со статическим типом Class .
1180: Вызов предположительно неопределенного метода Tween.
1120: Обращение несуществующего свойства Regular.
1119: Обращение возможного неопределенного свойства scaleMode через ссылку со статическим типом Class .
и последующие плохие слова))
Зашла в в 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 не могу найти(((

admin
25.03.10 | 22:20
0 баллов

К сожалению я не могу сказать вам, в чём были проблемы, возможно просто глюк Flash.

Что касается создания Flash проектов в разных версиях Flash IDE, то это нормально, что версии созданные в более ранних Flash IDE запускаются в более поздних версиях.

А вкладку parameters можно найти нажав F3 или в пункте меню Windows найти пункт Parameters.

И.Р.И.Н.А
26.03.10 | 02:32
0 баллов

Спасибо))) нашла))

Александр Викторович
11.04.10 | 12:02
0 баллов

Как сделать анимацию перетаскивания объекта мышью и его поворота

 
 
 
 

Последние комментарии

Полезные ссылки

Реклама сайтов

Купальники известный марки Amarea
В широком ассортименте мебель для ванной в Вашу квартиру
Сайт о фильмах любых жанров и направлений
проектирование пожаротушения на производстве для обеспечения пожарной безопасности