PDA

Просмотр полной версии : Как реализовать такого рода скролл?


skotskij
19.09.2007, 16:51
Здравствуйте,

мне нужно сделать такого рода скролл, как на вот этой странице:
Сид Ли (тыкнуть) (http://www.sidlee.com/) в разделе "Новости".

Т.е. смысл в том, что, находясь на новости номер один, я тыкаю на тридцатую и мигом прокручиваются все и я попадаю на 30 новость. Как это сделать?

Может быть нужно создать маску, которая показывает только опред. часть длинной череды новостей, а затем создать кнопки, которые ведут к определенному фрейму? Помогите, пожалуйста, очень хочется реализовать что-то похожее, а как - ума не приложу...

Заранее благодарен!

etc
19.09.2007, 16:59
Использовать mx.transitions.Tween.

skotskij
19.09.2007, 17:21
Использовать mx.transitions.Tween.

Прости, а подробнее?

Есть какие-либо уроки, как этим пользоваться? В поисковике примеров именно такого рода меню с использованием transition tween не нашел...

Kikasso
19.09.2007, 17:39
Набейте Tween в поиске по форуму.
Но не думаю, что этим обойдется. Там не прокручивается на 30 новостей, там делается вид, что на столько прокручивается. Мое мнение.

skotskij
19.09.2007, 18:13
Очень может быть, что так оно и есть. Тем более, что для новостей есть смысл использовать какого рода скрипт, чтоб добавлять их было проще. Но, все же, если у меня должно быть что-то совсем простое, т.е. всего пару новостей, которые никогда не будут меняться, то может быть мне есть смысл сделать маску, под этой маской сделать передвигающуюся панель, которая двигается слева направо и содержащую нужный текст. Затем сделать кнопки и говорить каждой из них, до какого кадра она должна играть. Как думаете, есть смысл попробовать?
И опять же, как Вы думаете, какая функция в экшн скрипте позволяет проигрывать до определенного кадра?

romulko
19.09.2007, 23:39
Функция для того, чтобы флеш начал движние по таймлайну только несколько - gotoAndStop, gotoAndPlay nextframe и т.д..

Я бы вам советовал сделать как говорит Денис - по Tween.

код такой -

import mx.transitions.Tween.*

var tween:Tween = new Tween(mc, "_x", easing.Strong.easeOut, start_x, end_x, 1,true);


mc - это ссылка на клип,
_x - это что изменять
следующее - это вид движения
start_x,end_x - от какой координаты начинать, и где останавливаться (в start_x лучше дать ссылку на мувик, тобишь, на его координату mc._x),
1 - это скорость действия, true - это булевое значение, определяющие, юзать или время, или количество кадров для езды.

Заносим этот код в функцию и даешь ее координаты, куда ехать или просто числа, которые будут обозначать номер раздела -

function move(num:Number):Void{
switch (num) {
case 1 :
var tween:Tween = new Tween(mc, "_x", easing.Strong.easeOut, mc._x, 10, 1,true);
break;
case 2 :
var tween:Tween = new Tween(mc, "_x", easing.Strong.easeOut, mc._x, 90, 1,true);
break;
case 3 :
var tween:Tween = new Tween(mc, "_x", easing.Strong.easeOut, mc._x, 180, 1,true);
break;
}


Это все.

skotskij
23.09.2007, 01:10
Спасибо за ответ! У меня все вышло. Если кто-то заинтересован тем, как я это сделал - пишите, с радостью дам исходник :)