Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.03.2008, 22:51
HDD вне форума Посмотреть профиль Отправить личное сообщение для HDD Найти все сообщения от HDD
  № 1  
Ответить с цитированием
HDD

Регистрация: Mar 2008
Адрес: RF, Moscow
Сообщений: 3
Question Подгрузка роликов через xml-файл

Здраствуйте, уважаемые флэшеры! Помогите разобраться новичку в этом нелегком деле. Я до сего момента дела с AS не имел, но возникла необходимость, а разобраться знаний пока нет
Посмотрел урок на g o t o a n d l e a r n . c o m, про вертящуюся "карусель в 3х частях, сделал все один в один, затем поглядел "typing on the text", сделал все, как там, но не понял одного:
как можно подгрузить swf в основную флэшку?

Код:
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;
 
var numOfItems:Number;
var radiusX:Number = 150;
var radiusY:Number = 40;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.05;
var perspective:Number = 60;
var home:MovieClip = this;
theText._alpha = 0;
 
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.content = nodes[i].attributes.content;
        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()
{
    //BONUS Section
    var sou:Sound = new Sound();
    sou.attachSound("sover");
    sou.start();
 
    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 released()
{
    //BONUS Section
    var sou:Sound = new Sound();
    sou.attachSound("sdown");
    sou.start();
 
    home.tooltip._alpha = 0;
    for(var i=0;i<numOfItems;i++)
    {
        var t:MovieClip = home["item"+i];
        t.xPos = t._x;
        t.yPos = t._y;
        t.theScale = t._xscale;
        delete t.icon.onRollOver;
        delete t.icon.onRollOut;
        delete t.icon.onRelease;
        delete t.onEnterFrame;
        if(t != this._parent)
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
            var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
        }
        else
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
            var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,200,1,true);
            var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,320,1,true);
            var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
            theText.text = t.content; - текстовое поле, в него вводится текст из xml, но мне вместо него нужен контейнер, в который будет загружаться флэш-ролики            var s:Object = this;
            tw.onMotionStopped = function()
            {
                s.onRelease = unReleased;
            }
        }
    }
}
 
function unReleased()
{
    //BONUS Section
    var sou:Sound = new Sound();
    sou.attachSound("sdown");
    sou.start();
 
    delete this.onRelease;
    var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
    for(var i=0;i<numOfItems;i++)
    {
        var t:MovieClip = home["item"+i];
        if(t != this._parent)
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
            var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
        }
        else
        {
            var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
            var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
            var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
            var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
            tw.onMotionStopped = function()
            {
                for(var i=0;i<numOfItems;i++)
                {
                    var t:MovieClip = home["item"+i];
                    t.icon.onRollOver = Delegate.create(t.icon,over);
                    t.icon.onRollOut = Delegate.create(t.icon,out);
                    t.icon.onRelease = Delegate.create(t.icon,released);
                    t.onEnterFrame = mover;
                }
            }
        }
    }
}
 
 
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)/3000;
}
Помогите, если не затруднит


Последний раз редактировалось HDD; 18.03.2008 в 17:34.
Старый 18.03.2008, 00:33
Fann вне форума Посмотреть профиль Отправить личное сообщение для Fann Найти все сообщения от Fann
  № 2  
Ответить с цитированием
Fann
 
Аватар для Fann

Регистрация: Jun 2006
Адрес: crimea
Сообщений: 69
Отправить сообщение для Fann с помощью ICQ
можна написать в основном таймлайне
Код:
var container:MovieClip = this.createEmptyMovieClip('MC_Container',100);
container.loadMovie('your.swf');

Старый 18.03.2008, 17:26
HDD вне форума Посмотреть профиль Отправить личное сообщение для HDD Найти все сообщения от HDD
  № 3  
Ответить с цитированием
HDD

Регистрация: Mar 2008
Адрес: RF, Moscow
Сообщений: 3
спасибо, но как именно через xml-файл подгрузить? просто есть класс content, определяющий для каждой иконки флэшки то, что будет отображаться после щелчка на нее. Подобного вида:
Код:
<icon image="1.png" tooltip="Main Page" content="1.swf"/>
, где content это то, что необходимо вывести в данный контейнер...
Объясните пожалуйста данное действо


Последний раз редактировалось HDD; 18.03.2008 в 17:33.
Создать новую тему Ответ Часовой пояс GMT +4, время: 05:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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