Форум 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)
-   -   Tween, не плавно (http://www.flasher.ru/forum/showthread.php?t=100090)

ccop 20.08.2007 01:17

Tween, не плавно
 
Вот таким кодом я увеличиваю обьект на экран... Т.е. он был у меня маленький, когда на него нажал, оно плавно мне его на весь экран показывает...
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*;
easeType = Strong.easeOut;
zoomTime = 1;
new mx.transitions.Tween(object, "_x", easeType, object._x, x, zoomTime, true);
new mx.transitions.Tween(object, "_y", easeType, object._y, y, zoomTime, true);
new mx.transitions.Tween(object, "_xscale", easeType, object._xscale, scale, zoomTime, true);
new mx.transitions.Tween(object, "_yscale", easeType, object._yscale, scale, zoomTime, true);

Но проблема, что на каких-то обьектах, оно как-то криво приближает, это может быть из-за формы обьекта? Как можно это исправить? Разное время указать, в зависимости от размеров?

ccop 20.08.2007 10:32

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

Скрипун 20.08.2007 11:45

пробуй fps временной диаграммы увеличивать.
ПС: хотя неизвестно что за параметры scale, x,y

Dima_DPE 20.08.2007 12:51

Мой совет. Просто не пользуйся стандартным твинером. Есть море других. Я вчера с темже маился, код там почти идентичный (правда в AS3), но бывало такое вырисовывал, что аж страшно.

Тут есть один
http://code.google.com/p/tweener/

ps Это лично мое мнение, никого не заставляю, что-то менять

iNils 20.08.2007 14:29

ccop, исходник с проблемой покажите.

ccop 20.08.2007 17:41

Исходник весь выслать не могу, потому как там много чего накручено еще и будет сложно разобраться...
Есть функция, в которую я как параметр передаю ссылку на обьект, который нужно приблизить..
Есть клип, в котором есть куча маленьких клипов... Вот когда кликаю на клип, мне нужно его показать на весь экран, делаю это так...
Код:

        object.swapDepths(this.getNextHighestDepth());
        if (object._width > object._height)
                zoom = (documentWidth - space) / object._width;
        else
                zoom = (documentHeight - space) / object._height;
        x = documentWidth / 2 - (object._width * zoom) / 2 - object.x * zoom;
        y = documentHeight / 2 - (object._height * zoom) / 2 - object.y * zoom
        new Tween(object._parent, "_x", easeType, object._parent._x, x, zoomTime, true);
        new Tween(object._parent, "_y", easeType, object._parent._y, y, zoomTime, true);
        new Tween(object._parent, "_xscale", easeType, object._parent._xscale, zoom * 100, zoomTime, true);
        new Tween(object._parent, "_yscale", easeType, object._parent._yscale, zoom * 100, zoomTime, true);

Цитата:

пробуй fps временной диаграммы увеличивать.
ПС: хотя неизвестно что за параметры scale, x,y
Как это сделать?

Arhitector 20.08.2007 18:01

нажми на пустое место во флэше и внизу в Properties есть Frame rate по дефолту он 12, увеличь до 30

http://www.instinct.nm.ru/fps.jpg

etc 20.08.2007 18:37

До 31.

ccop 20.08.2007 19:49

не помогает... ((
создается такой эффект как буд-то землетрясение, дребежит при приближении

Dima_DPE 20.08.2007 20:15

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


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

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