Форум 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)
-   -   3d Rotation Menu (http://www.flasher.ru/forum/showthread.php?t=115075)

djvist 18.08.2008 18:06

3d Rotation Menu
 
Есть у кого подобные исходники - КАК ТУТ ? Очень надо. :boredom: Имеется в виду, само меню-карусель с прокруткой по нажатию на items'ы.

MrPoma 18.08.2008 18:15

http://alternativaplatform.com/ru/alternativa3d/

djvist 18.08.2008 18:24

Цитата:

Сообщение от MrPoma (Сообщение 758841)

Совсем не то.

Double 18.08.2008 21:36

а почему вот сразу готовенькое-то требуется? а самому написать? лень? тогда есть раздел вакансии )))

Psycho Tiger 19.08.2008 15:52

Фи как криво.
То автор: поищи, Волгоградец здесь выкладывал свою работу, похожую на эту, вместе с сырцами )

ArtikUA 19.08.2008 16:17

Дэкомпильни тот swf...

etc 20.08.2008 10:59

Цитата:

Сообщение от ArtikUA (Сообщение 759032)
Дэкомпильни тот swf...

А за подобные советы мы будет раздавать плюсы.

LUCKY SHAMROCK 22.03.2009 17:23

Ребята подскажите где можна найти информацию а то4нее туториалс по созданию мену как на етом: http://oneover.com/2007/ сайте.. в правой стороне можна вибратй стилй мену ( хоризонтал ) вот именно такого стиля меня и интересует.. и 4тоби подгружалисй картинки с фаила.. т.к. ха4ю потом соединитй с mysql. Благодарю за внимание

mysBer 19.10.2009 21:02

Собственно сам код... Получается rotate menu. Собственно вопрос в том, как прикрутить линки из xml файла. Подскажите пожалуйста.
Код AS1/AS2:

import mx.utils.Delegate;
 
var numOfItems:Number;
var radiusX:Number = 400;
var radiusY:Number = 100;
var centerX:Number = Stage.width/2;
var centerY:Number = Stage.height/2;
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
 
var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000);
tooltip._alpha = 0;
 
var xml:XML = new XML();
xml.ignoreWhite = true;
 
xml.onLoad = function() {
        var nodes = this.firstChild.childNodes;
        numOfItems = nodes.length;
        for (var i = 0; i<numOfItems; i++) {
                var t = home.attachMovie("item", "item"+i, i+1);
                t.angle = i*((Math.PI*2)/numOfItems);
                t.onEnterFrame = mover;
                t.toolText = nodes[i].attributes.tooltip;
                t.icon.inner.loadMovie(nodes[i].attributes.image);
                t.r.inner.loadMovie(nodes[i].attributes.image);
                t.icon.onRollOver = over;
                t.icon.onRollOut = out;
                t.icon.onRelease = released;
        }
};
 
function over() {
        home.tooltip.tipText.text = this._parent.toolText;
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
        home.tooltip.onEnterFrame = Delegate.create(this, moveTip);
        home.tooltip._alpha = 100;
}
 
function out() {
        delete home.tooltip.onEnterFrame;
        home.tooltip._alpha = 0;
}
 
function moveTip() {
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
}
 
xml.load("icons.xml");
 
function mover() {
        this._x = Math.cos(this.angle)*radiusX+centerX;
        this._y = Math.sin(this.angle)*radiusY+centerY;
        var s = (this._y-perspective)/(centerY+radiusY-perspective);
        this._xscale = this._yscale=s*100;
        this.angle += this._parent.speed;
        this.swapDepths(Math.round(this._xscale)+100);
}
 
this.onMouseMove = function() {
        speed = (this._xmouse-centerX)/2500;
};

проблемма решена, огромное спасибо товарищу Ворон

almasvas 28.10.2009 13:18

Очень за вас рад! Но раз уж вы выложили здесь свою проблему, может и решение выложите?

mysBer 28.10.2009 21:28

Пожалуйста:
Код AS3:

import mx.utils.Delegate;
 
var numOfItems:Number;
var radiusX:Number = 400;
var radiusY:Number = 100;
var centerX:Number = Stage.width/2;
var centerY:Number = Stage.height/2;
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
 
var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000);
tooltip._alpha = 0;
 
var xml:XML = new XML();
xml.ignoreWhite = true;
 
xml.onLoad = function() {
        var nodes = this.firstChild.childNodes;
        numOfItems = nodes.length;
        for (var i = 0; i<numOfItems; i++) {
                var t = home.attachMovie("item", "item"+i, i+1);
                t.angle = i*((Math.PI*2)/numOfItems);
                t.onEnterFrame = mover;
                t.toolText = nodes[i].attributes.tooltip;
                t.icon.inner.loadMovie(nodes[i].attributes.image);
                t.r.inner.loadMovie(nodes[i].attributes.image);
                t.icon.onRollOver = over;
                t.icon.onRollOut = out;
                t.icon.link = nodes[i].attributes.link;
                t.icon.onRelease = function() {
                        getURL(this.link, "_self");
                };
        }
};
 
function over() {
        home.tooltip.tipText.text = this._parent.toolText;
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
        home.tooltip.onEnterFrame = Delegate.create(this, moveTip);
        home.tooltip._alpha = 100;
}
 
function out() {
        delete home.tooltip.onEnterFrame;
        home.tooltip._alpha = 0;
}
 
function moveTip() {
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
}
 
xml.load("icons.xml");
 
function mover() {
        this._x = Math.cos(this.angle)*radiusX+centerX;
        this._y = Math.sin(this.angle)*radiusY+centerY;
        var s = (this._y-perspective)/(centerY+radiusY-perspective);
        this._xscale = this._yscale=s*100;
        this.angle += this._parent.speed;
        this.swapDepths(Math.round(this._xscale)+100);
}
 
this.onMouseMove = function() {
        speed = (this._xmouse-centerX)/2500;
};

xml документ имеет вид:
Цитата:

<icons>
<icon image="img" tooltip="text" link="http://www.flasher.ru/" />
<icon image="img" tooltip="text" link="http://www.flasher.ru/" />
<icon image="img" tooltip="text" link="http://www.flasher.ru/" />
<icon image="img" tooltip="text" link="http://www.flasher.ru/" />
</icons>

almasvas 30.10.2009 17:13

Спасибо!!
Только это не AS3 а AS2 как я понял.
Как бы там нибыло, у меня этот код все равно не заработал. :(:(:( А так надо.. Именно AS2.. Ошибок нет, просто пустой экран. Видимо через xml не цепляются картинки.

Копирую содержимое xml, меняю img на путь (указывал как полный путь, так и просто название файла если в корне лежит), называю файл icons.xml
Копирую в cs4 код, ничего не меняю, ставлю player 8, 10 AS2 , нажимаю просмотр - пусто.

Может кто-нибудь подскажет как тут сделать без xml, просто добавить картинок и крутить в этой карусели?

mysBer 01.11.2009 16:47

Цитата:

Сообщение от almasvas (Сообщение 862171)
Спасибо!!
Только это не AS3 а AS2 как я понял.
Как бы там нибыло, у меня этот код все равно не заработал. :(:(:( А так надо.. Именно AS2.. Ошибок нет, просто пустой экран. Видимо через xml не цепляются картинки.

Копирую содержимое xml, меняю img на путь (указывал как полный путь, так и просто название файла если в корне лежит), называю файл icons.xml
Копирую в cs4 код, ничего не меняю, ставлю player 8, 10 AS2 , нажимаю просмотр - пусто.

Может кто-нибудь подскажет как тут сделать без xml, просто добавить картинок и крутить в этой карусели?

ну конечно это AS 2.0. Раздел так и называется ActionScript 1.0/2.0
Можно исходный файл Ваш?

Flashko 01.11.2009 18:48

Цитата:

Сообщение от almasvas (Сообщение 862171)
Как бы там нибыло, у меня этот код все равно не заработал.

Нужно создать 2 симбола, Назвать их tooltip, item и в свойствах дать export for action script.

И в приведенном примере есть ошибки, связанные с глубиной отображения мувиков (задние накладываются на передние)

almasvas 02.11.2009 12:29

Flashko Спасибо! Закрутилась карусель, и с наложением вроде все нормально пока. Но крутятся у меня только символы, пустые, в них не загружаются картинки..

XML
Цитата:

<icons>
<icon image="img1.jpg" tooltip="text" link="" />
<icon image="img2.png" tooltip="text" link="" />
<icon image="img3.png" tooltip="text" link="" />
</icons>
Код AS1/AS2:

import mx.utils.Delegate;
 
var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 50;
var centerX:Number = Stage.width/2;
var centerY:Number = Stage.height/2;
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
 
var tooltip:MovieClip = this.attachMovie("tooltip", "tooltip", 10000);
tooltip._alpha = 0;
 
var xml:XML = new XML();
xml.ignoreWhite = true;
 
xml.onLoad = function() {
        var nodes = this.firstChild.childNodes;
        numOfItems = nodes.length;
        for (var i = 0; i<numOfItems; i++) {
                var t = home.attachMovie("item", "item"+i, i+1);
                t.angle = i*((Math.PI*2)/numOfItems);
                t.onEnterFrame = mover;
                t.toolText = nodes[i].attributes.tooltip;
                t.icon.inner.loadMovie(nodes[i].attributes.image);
                t.r.inner.loadMovie(nodes[i].attributes.image);
                t.icon.onRollOver = over;
                t.icon.onRollOut = out;
                t.icon.onRelease = released;
        }
};
 
function over() {
        home.tooltip.tipText.text = this._parent.toolText;
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
        home.tooltip.onEnterFrame = Delegate.create(this, moveTip);
        home.tooltip._alpha = 100;
}
 
function out() {
        delete home.tooltip.onEnterFrame;
        home.tooltip._alpha = 0;
}
 
function moveTip() {
        home.tooltip._x = this._parent._x;
        home.tooltip._y = this._parent._y-this._parent._height/2;
}
 
xml.load("icons.xml");
 
function mover() {
        this._x = Math.cos(this.angle)*radiusX+centerX;
        this._y = Math.sin(this.angle)*radiusY+centerY;
        var s = (this._y-perspective)/(centerY+radiusY-perspective);
        this._xscale = this._yscale=s*100;
        this.angle += this._parent.speed;
        this.swapDepths(Math.round(this._xscale)+100);
}
 
this.onMouseMove = function() {
        speed = (this._xmouse-centerX)/2500;
};


Подскажите, почему не загружаются картинки!
Пробовал в xml прописывать и полный путь к картинке, и jpg и png и нет результата. Карусель есть, картинок в ней нет.

Narmishka 03.11.2009 22:41

Я на одном сайте видела видео урок, как 3д меню делать, не знаю подойдет Вам, но там тоже как карусель вращаются кнопки с картинками.

сайт http://user26rus164.narod.ru

almasvas 05.11.2009 16:27

Narmishka Спасибо! Меню красивое, сегодня скачаю урок, посмотрю, смогу ли его переделать под задумку.

Но все же!! У меня есть такая же карусель рабочая на AS3, там вообще другие методы используются, но там хотя бы все понятно, а тут не понятно, вот именно в этой функции, думаю в ней все дело:
Код AS1/AS2:

xml.onLoad = function() {
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for (var i = 0; i<numOfItems; i++) {
var t = home.attachMovie("item", "item"+i, i+1);
t.angle = i*((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.toolText = nodes[i].attributes.tooltip;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.r.inner.loadMovie(nodes[i].attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
};

Неужели ни один гуру не поможет начинающему флешеру разобраться с проблемой '((((((

almasvas 12.11.2009 12:37

Спасибо всем!! Разобрался!! Убрал все icon и inner и сделал в символе item еще один контейнер, r например, и получилось t.r.loadMovie("img1.jpg");


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

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