Stanislavsky
17.01.2010, 03:26
Привет!
Нарисовал структуру сайта.
Задача такая: Есть main.swf. В нее загружается menu.swf.
При выборе пункта меню, загружается новая swf.
На main.swf - Логотип как переход на главную (menu.swf) и немецкий-английский которые вызываются в любой момент и меняют текст.
impressum.swf - вызывается в любой момент поверх текущего клипа.
При загрузке нового клипа, он должен находиться ниже menu.swf.
23656
http://***********/4236197 ПОКРУПНЕЕ
Правильно ли так? Хотел бы совет, как улучшить? В чем может быть проблема?
пробуйте !
если возникнут проблемы с реализацией, то постараюсь помочь.
САйт крайне простая вещ. создание его лежит польше на плечах дизайна, а структуру всегда можно менять или дорабатывать.
Stanislavsky
20.01.2010, 04:14
что-то натворил. Даже не знаю как это назвать. Запутался с кнопками, которые не исчезают. С языками вообще... не знаю каким боком подойти.
package
{
import flash.display.*;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.*;
import flash.net.*;
import flash.media.*;
import ButClass;
public class siteClass extends MovieClip
{
var loader = new Loader();// Загрузчик
var urlRequest:URLRequest; // Путь к загружаемому файлу
var currentPage:MovieClip = null; // Текущая страница
var nextPage:MovieClip = null; // Следующая страница
var logo:Logo;
var bild:Bild;
var but01:Firma;
var but02:Leistung;
var but03:Projekt;
var plus:Plus;
var playBtn:B_Play = null;
var stopBtn:B_Stop = null;
var impress:Impress = null;
var deutsch:De;
var russisch:Ru;
var soundReq:URLRequest = new URLRequest("sound/music.mp3");
var sound:Sound = new Sound();
var soundControl:SoundChannel = new SoundChannel();
var volumeControl:SoundTransform = new SoundTransform(0.1);
var resumeTime:Number = 0;
public function siteClass() // Конструктор класса. Выполняется при запуске ролика
{
startPageIn(); // Появляется Главная страница
sound.load(soundReq);
sound.addEventListener(Event.COMPLETE, onComlete);
logo = new Logo();
addChild(logo);
logo.x = 20;
logo.y = 20;
plus = new Plus();
addChild(plus);
plus.x = 290;
plus.y = 62;
deutsch = new De()
addChild(deutsch);
deutsch.x = 760;
deutsch.y = 62;
russisch = new Ru()
addChild(russisch);
russisch.x = 760;
russisch.y = 62;
russisch.visible = false;
}
private function startPageIn(e:Event=null):void // Метод появления Главной страницы
{
if(currentPage != null)
{
removeChild(currentPage); // Удаление текущей страницы
logo.buttonMode = false;
logo.removeEventListener(MouseEvent.CLICK, startPageIn);
}
bild = new Bild();
addChild(bild); // содаем Картинку
bild.x = 375;
bild.y = 110;
but01 = new Firma();
addChild(but01);// содаем кнопку 01
but01.x = 20;
but01.y = 525;
but02 = new Leistung();
addChild(but02);// содаем кнопку 02
but02.x = 20;
but02.y = 550;
but03 = new Projekt();
addChild(but03);// содаем кнопку 03
but03.x = 20;
but03.y = 575;
if(impress == null)
{
impress = new Impress(); // создаем кнопку Impressum
addChild(impress);
impress.x = 280;
impress.y = 728;
}
if(playBtn == null)
{
playBtn = new B_Play(); // создаем кнопку Play
addChild(playBtn);
playBtn.x = 430;
playBtn.y = 728;
}
if(stopBtn == null)
{
stopBtn = new B_Stop(); // создаем кнопку Pause
addChild(stopBtn);
stopBtn.x = 430;
stopBtn.y = 728;
stopBtn.visible = false;
}
TransitionManager.start(but01, {type:Fly, direction:Transition.IN, easing:Strong.easeOut, duration:1, startPoint:4});
TransitionManager.start(but02, {type:Fly, direction:Transition.IN, easing:Strong.easeOut, duration:1, startPoint:4});
TransitionManager.start(but03, {type:Fly, direction:Transition.IN, easing:Strong.easeOut, duration:1, startPoint:4});
TransitionManager.start(bild, {type:Wipe, direction:Transition.IN, duration:1, easing:Strong.easeOut, startPoint:6});
but01.addEventListener(MouseEvent.CLICK, menuButtonClick);
but02.addEventListener(MouseEvent.CLICK, menuButtonClick);
but03.addEventListener(MouseEvent.CLICK, menuButtonClick);
impress.addEventListener(MouseEvent.CLICK, impressum);
}
private function startPageOut():void // Метод исчезания Главной страницы
{
TransitionManager.start(but01, {type:Fly, direction:Transition.OUT, easing:Strong.easeOut, duration:.1, startPoint:4});
TransitionManager.start(but02, {type:Fly, direction:Transition.OUT, easing:Strong.easeOut, duration:.1, startPoint:4});
TransitionManager.start(but03, {type:Fly, direction:Transition.OUT, easing:Strong.easeOut, duration:.1, startPoint:4});
TransitionManager.start(bild, {type:Wipe, direction:Transition.OUT, duration:2, easing:Regular.easeOut, startPoint:6});
}
private function menuButtonClick(e:Event):void // Функция кнопок меню для загрузки новых страниц
{
loader = new Loader(); // Новый загрузчик
if(e.target == but01) // если нажата кнопка 1
{
urlRequest = new URLRequest("firma.swf");
}
else if(e.target == but02)
{
urlRequest = new URLRequest("leistung.swf");
}
else
{
urlRequest = new URLRequest("projekt.swf");
}
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded); //загрузка закончена
loader.load(urlRequest);
}
private function fileLoaded (e:Event):void // Метод появления новой страницы
{
startPageOut(); // Удаление Главной страницы
nextPage = e.target.content;
addChildAt(nextPage, 1); // Добавить Следующую страницу
nextPage.x = 0;
nextPage.y = 110;
currentPage = nextPage; // Присвоим Текущей странице - загруженную
logo.buttonMode = true;
logo.addEventListener(MouseEvent.CLICK, startPageIn); // Лого работает как переход на Главную
}
private function impressum (e:Event):void // появление Impressum
{
loader = new Loader();
urlRequest = new URLRequest("impressum.swf");
loader.load(urlRequest);
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, impAnim); // Загрузка закончена
}
private function impAnim(e:Event):void //анимация impressum
{
var front = e.target.content;
TransitionManager.start(front, {type:Fade, direction:Transition.IN, duration:2, easing:Strong.easeOut});
}
function onComlete(event:Event):void
{
playBtn.addEventListener(MouseEvent.CLICK, playSound);
}
function playSound(event:MouseEvent):void
{
soundControl = sound.play(/*resumeTime*/);
soundControl.soundTransform = volumeControl;
stopBtn.visible = true;
stopBtn.addEventListener(MouseEvent.CLICK, pauseSound);
playBtn.visible = false;
playBtn.removeEventListener(MouseEvent.CLICK, playSound);
}
function pauseSound(event:MouseEvent):void
{
//resumeTime = soundControl.position;
soundControl.stop();
playBtn.visible = true;
playBtn.addEventListener(MouseEvent.CLICK, playSound);
stopBtn.visible = false;
stopBtn.removeEventListener(MouseEvent.CLICK, pauseSound);
}
}
}
Есть еще один класс ButClass но там только листенеры на OVER и OUT чтоб менялся цвет у ссылок.
Сильно страшно?)))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.