Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Управление свойством _x (http://www.flasher.ru/forum/showthread.php?t=96783)

peresmeshnik 08.06.2007 00:59

Огромное спасибо!!! Завтра побегу искать литературу...

ElLamok 10.06.2007 22:04

Мммм, по-моему, лучше нет ничего лучше законов физики :)
Заводишь функцию для увелечения времени, устанавливаешь шаг например 200 миллисекунд, пишешь setInterval, описываешь свою движение, в общем виде так - S = S0+V*t+a*t*t/2 , задаешь тут ускорение ( которое можно менять во время движения ), и не забываешь после увелечения времени поставить updateAfterEvent();

peresmeshnik 14.06.2007 19:50

Я все-таки хочу разобраться с tween или TransitionManager.
Код:

mx.transitions.TransitionManager.start(myMovieClip_mc, {type:mx.transitions.Fly, direction:mx.transitions.Transition.OUT, duration:1, easing:mx.transitions.easing.Strong.easeInOut});
Как мне регулировать координаты старта и координаты финиша?

this.create 14.06.2007 20:09

Код:

//
//импорт классов для эффектов
import mx.transitions.*;
import mx.transitions.easing.*;
//
//на сцену клип из библиотеки (это может быть и клип на сцене, только нужно указать имя экземпляра при размещении)
var mc:MovieClip = this.attachMovie('mc', 'mc', this.getNextHighestDepth());
//
//вот описание движения
var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 0, mc._width, 2, true);

,где
mc - имя или ссылка на экземпляр мувиклипа
'_x' - свойство, к которому будет применяться эффект
Strong.easeOut - эффект, в данном случае последовательное замедление в конце движения
0 - начальная координата
mc._width - конечная координата, в данном случае ширина mc
2 - время движения от нач. координаты, до конечной
true - если true - время движения будет задаваться в секундах. Если false - в кадрах.
Более подробно пожалуйста в справку flash.

peresmeshnik 14.06.2007 21:27

можно и так:
Код:

import mx.transitions.*;
import mx.transitions.easing.*;
new Tween(mc, '_x', Strong.easeInOut, 100, 200, 2, true);

но как сделать так, чтобы по щелчку на кнопке клип уезжал на заданное _х?

cherno_belaya 14.06.2007 22:20

Цитата:

Сообщение от peresmeshnik
но как сделать так, чтобы по щелчку на кнопке клип уезжал на заданное _х?

Код:


d=30;
knopka.onPress = function(){
                clip._x += d;
}


peresmeshnik 14.06.2007 22:40

нееет, я не это имел ввиду - это слишком примитивно..
мне нужно, чтобы клип смещался на определенное приращение к _х методом tween, причем так, чтобы стартовал из места, в котором он остановился. И еще как-то нужно сделать так, чтобы если пользователь несколько раз щелкал на кнопке, то от этого клип не начинал с точки старта, а продолжал двигаться, причем дальше..

this.create 15.06.2007 02:21

Код:

//
//импорт классов для эффектов
import mx.transitions.*;
import mx.transitions.easing.*;
//
var dist:Number = 20;
//
//на сцену клип из библиотеки (это может быть и клип на сцене, только нужно указать имя экземпляра при размещении)
var mc:MovieClip = this.attachMovie('mc', 'mc', this.getNextHighestDepth());
var but:MovieClip = this.attachMovie('but', 'but', this.getNextHighestDepth());
//
//вот описание движения
var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 0, mc._width, 2, true);
//
but.onPress = function():Void  {
    var tw:Tween = new Tween(mc, '_x', Strong.easeOut, mc._x, mc._x+dist, 2, true);
    this.enabled = false;
    tw.onMotionStopped = function():Void  {
        but.enabled = true;
    };
};


peresmeshnik 18.06.2007 02:16

то, что нужно! А можно сделать движение без блокировки but? Т.е. чтобы от нажатия только бы наращивалась скорость, т.е не скорость, а дальность передвижения? И при этом небыло бы видимого резкого изменения скорости...


Часовой пояс GMT +4, время: 17:38.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.