I’m having a strange problem. I have created 12 buttons, and each of them changes the text of a textField titled nameText on rollover. Right now the y property of the textField is set to 50 and the rollovers work, however when I change the y property of the textField to stage.stageHeight - 80 the rollovers dont work. When I view the page, the rollovers work the first time, but when I refresh the page in IE they stop working. Any ideas?
Here’s a snippet of my code:
package {
import flash.display.MovieClip;
import flash.events.*;
import flash.net.*;
import flash.text.*;
import fl.motion.easing.*;
import gs.TweenLite;
import gs.TweenMax;
import noponies.video.NpVideoProvider;
import noponies.display.NpFSObjectResize;
import noponies.events.NpVideoProviderEvent;
public class BasicFullScreen extends MovieClip {
//--------------------------------------
// PRIVATE VARS
//--------------------------------------
private var vid:NpVideoProvider;
private var i:int;
private var button:MovieClip;
//private var clickNow:MovieClip;
var xmlURL:URLRequest;
var urlLoader:URLLoader;
var xmlDesigner:XML;
var designerList:XMLList;
var designerName:String;
var nameText:TextField;
var nameFormat:TextFormat;
//--------------------------------------
// CONSTRUCTOR
//--------------------------------------
public function BasicFullScreen(){
initVideo();
initXML();
initText();
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
}
//---------------------------------------
// LOAD VIDEO
//---------------------------------------
private function initVideo():void{
vid = new NpVideoProvider();
addChildAt(vid, 0)
//set video to play at start
vid.playAtStart = false;
//will attempt to play as soon as it loads any data
vid.loadPointToPlayAt = 100
//set it loop
vid.loopingPlay = false
//dont need metadata, as we are stretching this to fullscreen
vid.ignoreMetaData = false
vid.vidSmoothing = true;
//buffer the playback slightly
vid.vidBuffer = 1
//add an event listener so we can kill the audio. You must wait to you have video data before you can set its audio props
vid.addEventListener(NpVideoProviderEvent.PLAYING, killAudio);
//load the video file
//streaming
//vid.loadFile("rtmp://127.0.0.1/oflaDemo/AdobeMax2007_720p_500.flv");
//progressive
vid.loadFile("videos/Rain.flv");
//---------------------------------------
// MAKE VIDEO FULLSCREEN
//---------------------------------------
//This is where we add our video object to our fullScreenResizeObject class
var fs:NpFSObjectResize = new NpFSObjectResize();
fs.addResizeTarget(vid);
}
//litener for "PLAY" event
private function killAudio(event:NpVideoProviderEvent):void{
vid.soundVolume = 0
}
//Mouse Move Video Play
private function mouseMoveHandler(event:MouseEvent):void
{
//trace((event.stageX)/stage.width);
vid.seekAsPercent((event.stageX)/stage.width);
event.updateAfterEvent();
//clickNow.x = mouseX;
//clickNow.y = mouseY - 30;
}
//Create Text Boxes
private function initText():void
{
nameFormat = new TextFormat();
nameFormat.color = 0xFFFFFF;
nameFormat.size = 70;
nameFormat.font = "Continuum Light";
nameText = new TextField();
nameText.defaultTextFormat = nameFormat;
nameText.selectable = false;
nameText.x = 10;
nameText.y = 50;
nameText.antiAliasType = "normal";
nameText.autoSize = TextFieldAutoSize.LEFT;
nameText.alpha = 0;
addChild(nameText);
}
//Called in Constructor to init xml list
private function initXML():void
{
xmlURL = new URLRequest("designers.xml");
urlLoader = new URLLoader(xmlURL);
urlLoader.addEventListener("complete", xmlLoaded);
}
//XML on Load complete function
private function xmlLoaded(evt:Event):void
{
xmlDesigner = new XML(urlLoader.data);
designerList = xmlDesigner.designer;
//trace(xmlProjects..project.(@category == "Print").image);
for each(var designer:XML in designerList)
{
//trace([EMAIL="designerList.designer.@name"]designerList.designer.@name[/EMAIL] + "<br>");
//trace([EMAIL="designer.@name"]designer.@name[/EMAIL]);
//trace(designer.image);
button = new MovieClip();
button.graphics.beginFill(000000);
button.graphics.drawRect(0,0,(stage.stageWidth/30),(stage.stageHeight));
button.graphics.endFill();
button.x = (stage.stageWidth/12)*i+(stage.stageWidth/40);
button.y = 0;
button.alpha = 0;
button.designerName = [EMAIL="designer.@name"]designer.@name[/EMAIL];
button.addEventListener(MouseEvent.MOUSE_OVER, doMouseOver);
button.addEventListener(MouseEvent.MOUSE_OUT, doMouseOut);
addChild(button);
i++;
}
}
private function doMouseOver(event:MouseEvent):void
{
//trace(event.target.designerName);
nameText.text = event.target.designerName;
TweenMax.to(nameText, 0.005, {blurFilter:{blurX:10, blurY:10}, ease:Back.easeIn});
TweenLite.to(nameText, 0.005, {alpha:1, ease:Linear.easeOut, onComplete:toRed});
//TweenLite.to(clickNow, 0.05, {alpha:1, ease:Linear.easeOut});
function toRed()
{
TweenMax.to(nameText, 0.05, {blurFilter:{blurX:0, blurY:0}, ease:Back.easeIn});
}
}
private function doMouseOut(event:MouseEvent):void
{
//trace(event.target.designerName);
TweenLite.to(nameText, 0.5, {alpha:0, ease:Linear.easeOut});
TweenMax.to(nameText, 0.1, {blurFilter:{blurX:0, blurY:0}, ease:Back.easeIn});
//TweenLite.to(clickNow, 0.05, {alpha:0, ease:Linear.easeOut});
}
}
}