Форум 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)
-   -   Анимация (http://www.flasher.ru/forum/showthread.php?t=74097)

NoCD 12.01.2006 01:11

Анимация
 
Люди добрые помогите с советом.

Хочу сделать например барабан как в игровых автоматах, что бы крутился барабан и случайно выпадал рисунок с нужной переменной во фрейме. Сама загвостка в том, что у меня не получается перейти плавно к нужному элементу в барабане. Т.е. барабан представим ввиде ленты с диапазоном в 25 кадров(), эту ленту прокручиваем как обычную анимацию с первого по 25 кадр, а вот как например мне плавно перейти к 10 кадру(на котором в данный момент например апельсин нарисован), если на данный момент проигрывается 15 кадр???
Хотя бы как плавно проиграть 20,25 и 5 кадры.
У меня все рывками происходит, то бишь сразу же резко переходит например с 20 кадра на 10.

Если что то не понятно в вопросе,напишу более подробно!!!
За ранее спасибо

$mival 12.01.2006 02:29

чистая математика.
допустим у тебя эта лента вертикальная, то есть по _y двигается.
Тогда нужно либо прибалять к текущему положению (+=) или убавлять (-=) с понижением типа этого прибавляемого или вычитаемого.
короче, смотри здесь исходник. там вродь работает, токо по _x и надо две строчки c "var" кода, присвоенного кнопкам , поставить в начало кода...

NoCD 12.01.2006 03:53

Да на счет того что это можно сделать по скрипту я знаю.
то бишь
onClipEvent (enterFrame) {
_y+=5;
}

все это понятно, но мне не получается по условию (if) его остановить, этот клип.

Как например _y проверять на условиях. C hitTest не выходит(даже и не пытался).
как сделать скриптом так, что бы остановить нужный мне кадр без рывков.
???

исходник не запускается, так как сейчас я пока что учусь на пятом флэше.

3r0jan 12.01.2006 04:00

попробуй сделать типа цикл ! ну тоесть создай условие где будет определяться на каком кадре остановиться и расчёт где чичас этот кадр находится и за счёт этого задать скорость торможения . ну вот тебе к примеру к примеру у тебя 9ть кадров рандомиш 8ку получается 4 вот и задавай расчёт от того кадра который у тебя чичас виден и до того кадра который нужен =) только как это реализовать кодом не думал ) некогда

KUZEN 12.01.2006 04:36

Делаем мувик с 10 кадрами вытаскиваем на сцену и обзываем spin , достаём две кнопки stop_btn и play_btn и в первый кадр рута пихаем код

Код:

F_moveSpin = function () {
        spin.onEnterFrame = function() {
                if (_root.detect == this._currentframe) {
                        this.stop();
                        _root.detect = 0;
                        delete this.onEnterFrame;
                }
        };
};
play_btn.onPress = function() {
        spin.play();
};
stop_btn.onPress = function() {
        detect = random(9)+1;
        F_moveSpin();
};


NoCD 12.01.2006 18:35

Вложений: 1
Всем спасибо за советы, но я все сделал по своему:)))

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

KUZEN 12.01.2006 18:39

Какой кошмар ))) зачем так заморачиваться и писать в каждом кадре код ?

$mival 12.01.2006 20:57

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

В скоро сделаю игровой автомат на флэше. Как сделаю, так сразу же покажу))))
просто ГОРЮ желанием посмотреть. удачи.

NoCD 13.01.2006 01:25

Вложений: 1
Вот еще один исходник, я переписал весь код.
Он стал более компактней.
Оцените вот такой вот код.

KUZEN 13.01.2006 01:28

Всё равно не рационально ... а что бы с нулём работало нужно писать не так
a=random(10); а вот так a=random(9)+1;

NoCD 13.01.2006 02:25

да знаю как решить проблему на счет нуля, просто там надо было сразу по другому делать.
насчет рациональности, тоя я еще учусь.
думаю загвостка еще больше бует когда я столкнусь с друмя такими линиями.
Как вы думаете, если с двумя линиями работать, то лучше всего это делать с помощью функций???

Antares 13.01.2006 03:28

Цитата:

Сообщение от NoCD
Как вы думаете, если с двумя линиями работать, то лучше всего это делать с помощью функций???

Ознакомься

NoCD 14.01.2006 15:08

Вложений: 1
Вот еще один вариант кода, только уже с тремя барабанами.
Оцените, критикуйте!!!


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

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