.FLA
FRAME 1
Código ActionScript :
stop();
// import needed Classes
import mx.transitions.Tween;
import mx.transitions.easing.*;
import flash.filters.BlurFilter;
import flash.filters.GlowFilter;
import flash.filters.DropShadowFilter;
import flash.geom.*;
///////////////////Initialize Vars
var siteXML:XML = new XML();
siteXML.ignoreWhite = true;
// The main site XML file
var siteXMLFile:String = "main.xml";
// Configs stored in XML
var navPadding:Number;
var myLogo:String;
var backgroundMusic:Boolean = true;
var myMusic:String;
var navActiveColor:String;
var navRollOverColor:String;
var navOutlineCol;
var navBGgradTop:String;
var navBGgradBottom:String;
var subnavActiveColor:String;
var subnavRollOverColor:String;
var subnavOutlineCol;
var subnavBGgradTop:String;
var subnavBGgradBottom:String;
var navFontSize:Number;
var subnavFontSize:Number;
var footerInfo:String;
var footerColor:String;
var logoX:Number;
var logoY:Number;
// Navigation stored in XML
var linkTotal:Number;
var linkName:Array = new Array();
var linkModule:Array = new Array();
var linkData:Array = new Array();
var linkBG:Array = new Array();
var linkSubs:Array = new Array();
var menuStartPosition:Number = 0;
var submenuStartPosition:Number = 0;
var moduleData:String;
var my_sound:Sound = new Sound();
var txtCSS = new TextField.StyleSheet();
var formatLink:TextFormat = new TextFormat();
var formatSubLink:TextFormat = new TextFormat();
subnavheader_mc._alpha = 0;
sublinks_mc._alpha = 0;
var currentVol:Number;
// Global stylesheet - All text in every module is styled by this
txtCSS.load("styles.css");
// Load site configurations and build navigation
siteXML.onLoad = function(success) {
if (success) {
// Fill up our arrays
navPadding = parseInt(this.firstChild.childNodes[0].childNodes[0].attributes.navPadding);
myLogo = this.firstChild.childNodes[0].childNodes[0].attributes.myLogo;
backgroundMusic = this.firstChild.childNodes[0].childNodes[0].attributes.backgroundMusic;
myMusic = this.firstChild.childNodes[0].childNodes[0].attributes.myMusic;
navActiveColor = this.firstChild.childNodes[0].childNodes[0].attributes.navActiveColor;
navRollOverColor = this.firstChild.childNodes[0].childNodes[0].attributes.navRollOverColor;
navOutlineCol = this.firstChild.childNodes[0].childNodes[0].attributes.navBGOutlineColor;
navBGgradTop = this.firstChild.childNodes[0].childNodes[0].attributes.navBGtopGradientColor;
navBGgradBottom = this.firstChild.childNodes[0].childNodes[0].attributes.navBGbottomGradientColor;
subnavOutlineCol = this.firstChild.childNodes[0].childNodes[0].attributes.subnavBGOutlineColor;
subnavBGgradTop = this.firstChild.childNodes[0].childNodes[0].attributes.subnavBGtopGradientColor;
subnavBGgradBottom = this.firstChild.childNodes[0].childNodes[0].attributes.subnavBGbottomGradientColor;
subnavActiveColor = this.firstChild.childNodes[0].childNodes[0].attributes.subnavActiveColor;
subnavRollOverColor = this.firstChild.childNodes[0].childNodes[0].attributes.subnavRollOverColor;
footerColor = this.firstChild.childNodes[0].childNodes[0].attributes.footerColor;
// Apply custom attributes to the template
var footerBGColor = new Color(footer_mc.bg_mc);
footerBGColor.setRGB(footerColor);
navFontSize = parseInt(this.firstChild.childNodes[0].childNodes[0].attributes.navFontSize);
subnavFontSize = parseInt(this.firstChild.childNodes[0].childNodes[0].attributes.subnavFontSize);
formatLink.size = navFontSize;
formatSubLink.size = subnavFontSize;
// Position Logo
logoX = parseInt(this.firstChild.childNodes[0].childNodes[0].attributes.logoX);
logoY = parseInt(this.firstChild.childNodes[0].childNodes[0].attributes.logoY);
logo_mc._x = logoX;
logo_mc._y = logoY;
footerInfo = this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
footer_mc.footer_txt.html = true;
footer_mc.footer_txt.autoSize = "left";
footer_mc.footer_txt.htmlText = footerInfo;
footer_mc.footer_txt.styleSheet = txtCSS;
linkTotal = this.firstChild.childNodes[1].childNodes.length;
for (var i:Number = 0; i<linkTotal; i++) {
linkName.push(this.firstChild.childNodes[1].childNodes[i].attributes.name);
linkModule.push(this.firstChild.childNodes[1].childNodes[i].attributes.module);
linkData.push(this.firstChild.childNodes[1].childNodes[i].attributes.data);
if (this.firstChild.childNodes[1].childNodes[i].attributes.background) {
linkBG.push(this.firstChild.childNodes[1].childNodes[i].attributes.background);
} else {
linkBG.push("");
}
if (this.firstChild.childNodes[1].childNodes[i].childNodes) {
linkSubs.push(this.firstChild.childNodes[1].childNodes[i]);
} else {
linkSubs.push("");
}
}
// Build main site navigation
buildMenu();
if (linkBG[0] != "") {
loadBackground(linkBG[0]);
}
if (linkSubs[0] != "") {
loadSubMenu(linkSubs[0]);
}
// Load logo
loadMovie(myLogo, logo_mc);
loadModule(0);
if (backgroundMusic == "yes") {
toggleMusic(false);
currentVol = 100;
} else {
footer_mc.musicControls_mc._visible = false;
}
position();
} else {
trace("Cannot load XML File");
}
};
siteXML.load(siteXMLFile);
// Load custom background
function loadBackground(arg) {
var myvar:String = arg;
var fileExtension:String = substring(arg, arg.length-2, 3);
videobackground_mc.ns.close();
videobackground_mc._alpha = 0;
background_mc.target_mc._alpha = 0;
// Looks for file extensions (png, jpg, jpeg, flv, swf)
var cleanFileType:String = fileExtension.toLowerCase();
switch (cleanFileType) {
case "jpg" :
case "png" :
case "epg" :
case "gif" :
smoothImageLoad(arg, background_mc.target_mc);
break;
case "flv" :
case "f4v" :
case "mp4" :
case "m4v" :
case "mpa" :
case "3gp" :
case "mov" :
videobackground_mc.myPlay(arg);
var showVideoBG:Tween = new Tween(videobackground_mc, "_alpha", None.easeOut, 0, 100, 1, true);
break;
case "swf" :
loadSWFBG(arg, background_mc.target_mc);
break;
default :
trace("Incorrect file type set as a background");
break;
}
}MC: videobackground_mc
Código ActionScript :
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.setBufferTime(5);
video_mc.smoothing = true;
trans_btn.useHandCursor = false;
video_mc.attachVideo(ns);
ns.onMetaData = function(obj) {
//trace("FLV width: "+obj.width+" px.");
//_parent.position();
};
ns.onStatus = function(info) {
if (info.code == "NetStream.Play.Stop") {
ns.seek(0);
ns.pause(true);
}
//trace(info.code);
};
function myPlay(vid) {
vidPlaying = true;
playState();
ns.play(vid);
}
XML
Código XML :
<?xml version="1.0" encoding="utf-8"?> <main> <config> ............... ............... </config> <navigation> <link name="HOME" background="images/prueba.flv" /> </navigation> </main>
Desde ya muchas gracias!!!
