Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   существует ли метод убыстрение анимации (http://www.flasher.ru/forum/showthread.php?t=200276)

sasha88886 01.06.2013 14:49

существует ли метод убыстрение анимации
 
Здравствуйте

Я делаю игру про рыбок вот экземпляр

http://mysites.zg5.ru/fishhing/fish_ground_anim.swf
Кто посмотрел хочу подметить анимацию плавников. Это растровая анимация в целях экономии дискового пространства я анимировал плавники отдельно от рыбки и отдельным клипом прикрепил к ней.

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

Там чтото вроде

Код AS3:

fish.plavnik.

Зарание спасибо

MikroAcse 01.06.2013 14:55

Если плавник - анимация, созданная в GIF/MovieClip(Adobe Flash CSx), то никак.
Разве что можешь увеличить frameRate (stage.frameRate), хотя вряд ли это сильно поможет.

Добавлено через 47 секунд
Цитата:

рыбка не двигается плавники останавливаются
Код AS3:

fish.stop();


Tails 01.06.2013 15:03

sasha88886,
Готового метода для увеличения скорости воспроизведения у MovieClip нету.

Есть несколько вариантов, как динамически менять скорость воспроизведения:
  1. Самостоятельно изменять текущий отображаемый кадр в MovieClip, используя метод gotoAndStop и имитируя анимацию с нужной скоростью.
  2. Написать собственный класс отображаемого объекта.

vizgl 01.06.2013 15:39

Пиши класс контроллер, у которого будет параметр fps анимации, и в нем вручную рассчитывай кадр.
Получится, что-то типа этого:
Код AS1/AS2:

_сounter += dt * _fps;
 
if (_сounter >= 1.0)
{
        var jumpFrames: int = int(_сounter);
        var needFrame: int = _сontrolledClip.currentFrame + jumpFrames;
 
        if (needFrame > _endFrame)
        {
                needFrame = needFrame - _endFrame + (_startFrame - 1));
        }
 
        _сontrolledClip.gotoAndStop(needFrame);
 
        _сounter = _сounter - jumpFrames;
}

Тут
dt = 1 / stage.fps;

Wolsh 01.06.2013 18:01

sasha88886, SWF-файлы необходимо прикреплять к сообщению.

sasha88886 02.06.2013 06:22

Да я реализовал так как было показано vizgl и Tails за что им при много благодарен спасибо всем тему считаю закрытой
Цитата:

SWF-файлы необходимо прикреплять к сообщению.
Понятно будем исправятся

mooncar 02.06.2013 14:59

Цитата:

Сообщение от sasha88886 (Сообщение 1136032)
Понятно будем исправятся

Это хорошо, но вам нужно было отредактировать первый пост ("Расширенный режим" редактирования -> "Управление вложениями").


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

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