Форум 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=126218)

Ossikuro 14.06.2009 12:09

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

Код AS1/AS2:

stop();
 
 
var total:Number = 12;
 
 
var label_list:Array = new Array( "041_horizontal_scroller", "042_vertical_scroller", "043_intro", "044_intro", "045_elastic", "046_thumbnail_xml", "047_present", "048_vertical_menu_xml", "049_horizontal_menu_xml", "050_star_effect", "051_star_motion", "052_design");
 
var link_list:Array = new Array("http://www.flashmo.com/preview/flashmo_041_horizontal_scroller", "http://www.flashmo.com/preview/flashmo_042_vertical_scroller", "http://www.flashmo.com/preview/flashmo_043_intro", "http://www.flashmo.com/preview/flashmo_044_intro", "http://www.flashmo.com/preview/flashmo_045_elastic", "http://www.flashmo.com/preview/flashmo_046_thumbnail_xml", "http://www.flashmo.com/preview/flashmo_047_present", "http://www.flashmo.com/preview/flashmo_048_vertical_menu_xml", "http://www.flashmo.com/preview/flashmo_049_horizontal_menu_xml", "http://www.flashmo.com/preview/flashmo_050_star_effect", "http://www.flashmo.com/preview/flashmo_051_star_motion", "http://www.flashmo.com/preview/flashmo_052_design");
 
var radiusX:Number = 330;
var radiusY:Number = 90;
var centerX:Number = 400;
var centerY:Number = 140;
var speed:Number = 0.005;
tn_group_mc._visible = false;
info.text = ""; fm_label.text = "";
 
for( var i = 0; i < total; i++)
{
var t = tn_group_mc.duplicateMovieClip("tn"+i, i);
t.tn_mc.gotoAndStop(i+1); t.tn_shadow_mc.gotoAndStop(i+1);
t.fm_label = label_list[i];
t.fm_url = link_list[i];
 
t.angle = i * ((Math.PI*2)/total);
t.onEnterFrame = mover;
 
t.fm_button.onRollOver = function()
{
fm_label.text = "Title: " + this._parent.fm_label;
info.text = "URL: " + this._parent.fm_url;
}
t.fm_button.onRollOut = function()
{
info.text = ""; fm_label.text = "";
}
t.fm_button.onRelease = function()
{
getURL( this._parent.fm_url );
}

(все имена - это джипеги, если ставить вместо джипег такие же свфки - то анимация происходит все время, пока открыт документ, мне нужно чтоб кнопочка анимировалась только при наведении на нее, у каждой кнопки должна быть свой мульт)

Алиль 14.06.2009 14:36

У вас код не оформлен по правилам форума! Ждите замечаний....

А делается так...выделяете код и выбираете AS или AS3

Вот так

Код AS1/AS2:

stop();
 
 
var total:Number = 12;
 
 
var label_list:Array = new Array( "041_horizontal_scroller", "042_vertical_scroller", "043_intro", "044_intro", "045_elastic", "046_thumbnail_xml", "047_present", "048_vertical_menu_xml", "049_horizontal_menu_xml", "050_star_effect", "051_star_motion", "052_design");
 
var link_list:Array = new Array("http://www.flashmo.com/preview/flashmo_041_horizontal_scroller", "http://www.flashmo.com/preview/flashmo_042_vertical_scroller", "http://www.flashmo.com/preview/flashmo_043_intro", "http://www.flashmo.com/preview/flashmo_044_intro", "http://www.flashmo.com/preview/flashmo_045_elastic", "http://www.flashmo.com/preview/flashmo_046_thumbnail_xml", "http://www.flashmo.com/preview/flashmo_047_present", "http://www.flashmo.com/preview/flashmo_048_vertical_menu_xml", "http://www.flashmo.com/preview/flashmo_049_horizontal_menu_xml", "http://www.flashmo.com/preview/flashmo_050_star_effect", "http://www.flashmo.com/preview/flashmo_051_star_motion", "http://www.flashmo.com/preview/flashmo_052_design");
 
var radiusX:Number = 330;
var radiusY:Number = 90;
var centerX:Number = 400;
var centerY:Number = 140;
var speed:Number = 0.005;
tn_group_mc._visible = false;
info.text = ""; fm_label.text = "";
 
for( var i = 0; i < total; i++)
{
var t = tn_group_mc.duplicateMovieClip("tn"+i, i);
t.tn_mc.gotoAndStop(i+1); t.tn_shadow_mc.gotoAndStop(i+1);
t.fm_label = label_list[i];
t.fm_url = link_list[i];
 
t.angle = i * ((Math.PI*2)/total);
t.onEnterFrame = mover;
 
t.fm_button.onRollOver = function()
{
fm_label.text = "Title: " + this._parent.fm_label;
info.text = "URL: " + this._parent.fm_url;
}
t.fm_button.onRollOut = function()
{
info.text = ""; fm_label.text = "";
}
t.fm_button.onRelease = function()
{
getURL( this._parent.fm_url );
}

К вашему коду ничего я не добавлял..

А если вАШ ВОПРОС ПРАВИЛЬНО ПОНЯЛ, ТО вАМ НУЖНО СДЕЛАТЬ СВОЮ АНИМАЦИЮ И ВСТАВИТЬ ВМЕСТО СТАРОЙ!
кАКОЙ ВОПРОС ТАКОЙ ОТВЕТ!

Ossikuro 15.06.2009 07:19

У меня есть кнопки с одинаковой анимацией (отличаются только картинками), а нужно каждой кнопке дать свою анимацию.
Спасибо за замечание)

BestDay 15.06.2009 13:25

Код AS1/AS2:

var t = tn_group_mc.duplicateMovieClip("tn"+i, i);

заменить на
Код AS1/AS2:

var t = _root['tn_group_mc'+i].duplicateMovieClip("tn"+i, i);

и соответственно необходимо иметь эти tn_group_mc0, tn_group_mc1, tn_group_mc2 ...

Ossikuro 16.06.2009 05:25

спасибо огромное, помогло, оч сапсли


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

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