miep
%Europe/Berlin %911 %2008, 22:52
Hier is een linkje naar de versie online
http://royalinvest.lionhead.nl/Properties.html
2 Big problems.. en ik krijg ze niet op gelost.
- de fout melding zit op regel 106
startGallery(idThumb);
// ik heb geen idee hoe ik in die functie deze eerst moet declaren. blijkbaar is dat nodig..
- waarom wordt de disableBlur event steeds getriggerd terwijl de ROLL_OUT daar verbuiten ligt? daarom is de gallery onderaan ook niet soepel. Ik wil graag dat de disableBlur pas wordt getrigger zodra je uit de container gaat met je muis.
Iemand enig idee?
In de bijlage zitten alle files die je nodig hebt om het zo werkend thuis te krijgen.
//Copyright Lionhead Bv
//for commercial use contact michiel@lionhead.nl
//Import
import fl.transitions.Tween;
import fl.transitions.easing.*;
import caurina.transitions.Tweener;
import gs.TweenLite;
import gs.TweenFilterLite;
//XML inladen
var imageLoader:Loader;
var xmlURL:URLLoader = new URLLoader();
var xml:XML;
var xmlList:XMLList;
xmlURL.load(new URLRequest("images.xml"));
xmlURL.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event:Event):void
{
xml = XML(event.target.data);
xmlList = xml.children();
startGallery(idThumb);
}
// Scroller vars
var minScroll:Number = slider.sliderBar.x; //movieclip onstage
var maxScroll:Number = slider.sliderBar.width;
var scrollInterval:Number = maxScroll - minScroll;
var draging:Boolean = false;
var scrolling:Boolean = false;
var bounds:Rectangle = new Rectangle(slider.sliderKnop.x,slider.sliderKnop.y, slider.sliderBar.width, 0);
var xmask:Number;
var xmaskmax:Number;
var afstand:Number;
//thumb vars
var image:MovieClip;
var container:MovieClip;
var currentImage:int;
var imagePreloader:MovieClip;
var idThumb:int = 0;
// Build container
container = new MovieClip();
container.x = 25;
container.y = 40;
imagePreloader = new Imagepreloader(); //my preloader
imagePreloader.y = container.y + 50;
container.mouseEnabled = false;
addChild(imagePreloader);
addChild(container);
container.addEventListener(MouseEvent.MOUSE_OUT, disableBlur);
function startGallery(idThumb)
{
imageLoader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, handleProgress);
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, handleComplete);
imageLoader.load(new URLRequest(xmlList[idThumb].attribute("source")));
}
function handleProgress(event:ProgressEvent):void
{
var procent:Number = Math.floor(event.bytesLoaded / event.bytesTotal *100);
imagePreloader.visible = true;
imagePreloader.x = 25 + container.x + (idThumb * 125);
imagePreloader.preloaderText.text = procent + "%";
}
// load thumbs 1 by 1
function handleComplete(event:Event):void
{
imagePreloader.visible = false;
image = new Image();
image.name = String(idThumb);
image.imagePlaceHolder.buttonMode = true;
image.x = idThumb * 125 + 50;
image.y = 50;
image.imagePlaceHolder.addChild(imageLoader);
image.imageTxt.text = xmlList[idThumb];
image.imageTxt.antiAliasType = AntiAliasType.ADVANCED;
image.imageTxt.autoSize = TextFieldAutoSize.CENTER;
image.imageTxt.textColor = 0x093457;
image.addEventListener(MouseEvent.ROLL_OVER, enableBlur);
image.imagePlaceHolder.addEventListener(MouseEvent .CLICK, clickURL);
image.alpha = 0;
Tweener.addTween(image, {alpha:1, time:2, transition:"easeOut"});
container.addChild(image);
if (idThumb < xmlList.length())
{
idThumb++;
imageLoader.contentLoaderInfo.removeEventListener( Event.COMPLETE, handleComplete);
startGallery(idThumb);// FLASH WHY DONT U UNDERSTAND THIS?
}
if (idThumb == xmlList.length()-1)
{
xmask = container.x;
xmaskmax = (xmask - container.width) + maxScroll;//mask size
afstand = xmaskmax-xmask;
/* //misschien op een andere MovieClip het disableBlur event?
var henk:MovieClip = new MovieClip();
henk.graphics.beginFill(0x000000);
henk.graphics.drawRect(container.x, container.y, 600,150);
henk.graphics.endFill();
henk.alpha = 0.5;
henk.addEventListener(MouseEvent.MOUSE_OUT, disableBlur);
addChild(henk);
*/
}
}
function enableBlur(event:MouseEvent):void
{
currentImage = parseInt(event.target.name);
for (var i:int = 0; i < idThumb; i++)
{
if (currentImage != i)
{
//container.addEventListener(TweenEvent.MOTION_FINIS H, disableBlur); How to test this? on the twweener
Tweener.addTween(container.getChildAt(i), {scaleX:0.8,scaleY:0.8, alpha:0.7, time:2, transition:"easeOutElastic"});
TweenFilterLite.to(container.getChildAt(i), 1, {blurFilter:{blurX:2, blurY:2, quality:5, ease:Elastic.easeOut}});
}
}
Tweener.addTween(container.getChildAt(currentImage ), {scaleX:1,scaleY:1, alpha:1, time:2, transition:"easeOutElastic"});
container.getChildAt(currentImage).filters = null;
}
// remake the thumbs if move out of the container
function disableBlur(event:MouseEvent):void
{
// try not to active disableBlur event...if enableBlur is active HOW???
for (var i:int = 0; i < xmlList.length(); i++)
{
Tweener.addTween(container.getChildAt(i),{scaleX:1 ,scaleY:1, alpha:1, time:2, delay:0.5, transition:"easeOutElastic"});
//Tweener.addTween(containerText.getChildAt(i), {scaleX:1,scaleY:1, alpha:1, time:2, delay:0.5,transition:"easeOutElastic"});
TweenFilterLite.to(container.getChildAt(i),1,{blur Filter:{blurX:0, blurY:0, quality:3, ease:Elastic.easeOut}, delay:0.5});
//TweenFilterLite.to(containerText.getChildAt(i), 1,{blurFilter:{blurX:0, blurY:0, quality:3, ease:Elastic.easeOut}, delay:0.5});
}
}
//build mask
function buildBg()
{
var w:uint = 605;
var h:uint= 140;
var bgColor:uint = 0x000000;
var borderColor:uint = 0x666666;
var borderSize:uint = 1;
var cornerRadius:uint = 9;
var gutter:uint = 5;
var child:Shape = new Shape();
child.graphics.beginFill(bgColor);
child.graphics.lineStyle(borderSize, borderColor);
child.graphics.drawRoundRect(0, 0, w, h, cornerRadius);
child.graphics.endFill();
child.x = container.x;
child.y = container.y -10;
container.mask = child;
}
//buildslider
slider.sliderKnop.buttonMode = true;
slider.sliderKnop.addEventListener(MouseEvent.MOUS E_DOWN,beginDrag);
function beginDrag(event:MouseEvent):void
{
slider.sliderKnop.startDrag(false,bounds);
draging = true;
slider.sliderKnop.addEventListener(Event.ENTER_FRA ME,checkingProgress);
stage.addEventListener(MouseEvent.MOUSE_UP,endDrag );
//container.removeEventListener(Event.SCROLL,updateS crollHandler);
}
function endDrag(event:MouseEvent):void
{
slider.sliderKnop.stopDrag();
draging = false;
}
function checkingProgress(event:Event):void
{
var moveDrag:Number = slider.sliderKnop.x - minScroll;
var procentDrag = moveDrag/scrollInterval;
var per:Number = Math.round((procentDrag) * 100);
if (draging)
{
var stand:Number = (per/100)* afstand;
var deX:Number= xmask + stand;
Tweener.addTween(container, {x:deX, time:2, transition:"easeOut"});
}
}
function clickURL(event:MouseEvent):void
{
//var percent:Number = Math.round( event.bytesLoaded / event.bytesTotal * 100 );
var url:String = "http://site";
var request:URLRequest = new URLRequest("javascript:" + xmlList[currentImage].attribute("url"));
try
{
navigateToURL(request, '_self');
}
catch (e:Error)
{
trace("Error occurred!");
}
}
http://royalinvest.lionhead.nl/Properties.html
2 Big problems.. en ik krijg ze niet op gelost.
- de fout melding zit op regel 106
startGallery(idThumb);
// ik heb geen idee hoe ik in die functie deze eerst moet declaren. blijkbaar is dat nodig..
- waarom wordt de disableBlur event steeds getriggerd terwijl de ROLL_OUT daar verbuiten ligt? daarom is de gallery onderaan ook niet soepel. Ik wil graag dat de disableBlur pas wordt getrigger zodra je uit de container gaat met je muis.
Iemand enig idee?
In de bijlage zitten alle files die je nodig hebt om het zo werkend thuis te krijgen.
//Copyright Lionhead Bv
//for commercial use contact michiel@lionhead.nl
//Import
import fl.transitions.Tween;
import fl.transitions.easing.*;
import caurina.transitions.Tweener;
import gs.TweenLite;
import gs.TweenFilterLite;
//XML inladen
var imageLoader:Loader;
var xmlURL:URLLoader = new URLLoader();
var xml:XML;
var xmlList:XMLList;
xmlURL.load(new URLRequest("images.xml"));
xmlURL.addEventListener(Event.COMPLETE, xmlLoaded);
function xmlLoaded(event:Event):void
{
xml = XML(event.target.data);
xmlList = xml.children();
startGallery(idThumb);
}
// Scroller vars
var minScroll:Number = slider.sliderBar.x; //movieclip onstage
var maxScroll:Number = slider.sliderBar.width;
var scrollInterval:Number = maxScroll - minScroll;
var draging:Boolean = false;
var scrolling:Boolean = false;
var bounds:Rectangle = new Rectangle(slider.sliderKnop.x,slider.sliderKnop.y, slider.sliderBar.width, 0);
var xmask:Number;
var xmaskmax:Number;
var afstand:Number;
//thumb vars
var image:MovieClip;
var container:MovieClip;
var currentImage:int;
var imagePreloader:MovieClip;
var idThumb:int = 0;
// Build container
container = new MovieClip();
container.x = 25;
container.y = 40;
imagePreloader = new Imagepreloader(); //my preloader
imagePreloader.y = container.y + 50;
container.mouseEnabled = false;
addChild(imagePreloader);
addChild(container);
container.addEventListener(MouseEvent.MOUSE_OUT, disableBlur);
function startGallery(idThumb)
{
imageLoader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Pro gressEvent.PROGRESS, handleProgress);
imageLoader.contentLoaderInfo.addEventListener(Eve nt.COMPLETE, handleComplete);
imageLoader.load(new URLRequest(xmlList[idThumb].attribute("source")));
}
function handleProgress(event:ProgressEvent):void
{
var procent:Number = Math.floor(event.bytesLoaded / event.bytesTotal *100);
imagePreloader.visible = true;
imagePreloader.x = 25 + container.x + (idThumb * 125);
imagePreloader.preloaderText.text = procent + "%";
}
// load thumbs 1 by 1
function handleComplete(event:Event):void
{
imagePreloader.visible = false;
image = new Image();
image.name = String(idThumb);
image.imagePlaceHolder.buttonMode = true;
image.x = idThumb * 125 + 50;
image.y = 50;
image.imagePlaceHolder.addChild(imageLoader);
image.imageTxt.text = xmlList[idThumb];
image.imageTxt.antiAliasType = AntiAliasType.ADVANCED;
image.imageTxt.autoSize = TextFieldAutoSize.CENTER;
image.imageTxt.textColor = 0x093457;
image.addEventListener(MouseEvent.ROLL_OVER, enableBlur);
image.imagePlaceHolder.addEventListener(MouseEvent .CLICK, clickURL);
image.alpha = 0;
Tweener.addTween(image, {alpha:1, time:2, transition:"easeOut"});
container.addChild(image);
if (idThumb < xmlList.length())
{
idThumb++;
imageLoader.contentLoaderInfo.removeEventListener( Event.COMPLETE, handleComplete);
startGallery(idThumb);// FLASH WHY DONT U UNDERSTAND THIS?
}
if (idThumb == xmlList.length()-1)
{
xmask = container.x;
xmaskmax = (xmask - container.width) + maxScroll;//mask size
afstand = xmaskmax-xmask;
/* //misschien op een andere MovieClip het disableBlur event?
var henk:MovieClip = new MovieClip();
henk.graphics.beginFill(0x000000);
henk.graphics.drawRect(container.x, container.y, 600,150);
henk.graphics.endFill();
henk.alpha = 0.5;
henk.addEventListener(MouseEvent.MOUSE_OUT, disableBlur);
addChild(henk);
*/
}
}
function enableBlur(event:MouseEvent):void
{
currentImage = parseInt(event.target.name);
for (var i:int = 0; i < idThumb; i++)
{
if (currentImage != i)
{
//container.addEventListener(TweenEvent.MOTION_FINIS H, disableBlur); How to test this? on the twweener
Tweener.addTween(container.getChildAt(i), {scaleX:0.8,scaleY:0.8, alpha:0.7, time:2, transition:"easeOutElastic"});
TweenFilterLite.to(container.getChildAt(i), 1, {blurFilter:{blurX:2, blurY:2, quality:5, ease:Elastic.easeOut}});
}
}
Tweener.addTween(container.getChildAt(currentImage ), {scaleX:1,scaleY:1, alpha:1, time:2, transition:"easeOutElastic"});
container.getChildAt(currentImage).filters = null;
}
// remake the thumbs if move out of the container
function disableBlur(event:MouseEvent):void
{
// try not to active disableBlur event...if enableBlur is active HOW???
for (var i:int = 0; i < xmlList.length(); i++)
{
Tweener.addTween(container.getChildAt(i),{scaleX:1 ,scaleY:1, alpha:1, time:2, delay:0.5, transition:"easeOutElastic"});
//Tweener.addTween(containerText.getChildAt(i), {scaleX:1,scaleY:1, alpha:1, time:2, delay:0.5,transition:"easeOutElastic"});
TweenFilterLite.to(container.getChildAt(i),1,{blur Filter:{blurX:0, blurY:0, quality:3, ease:Elastic.easeOut}, delay:0.5});
//TweenFilterLite.to(containerText.getChildAt(i), 1,{blurFilter:{blurX:0, blurY:0, quality:3, ease:Elastic.easeOut}, delay:0.5});
}
}
//build mask
function buildBg()
{
var w:uint = 605;
var h:uint= 140;
var bgColor:uint = 0x000000;
var borderColor:uint = 0x666666;
var borderSize:uint = 1;
var cornerRadius:uint = 9;
var gutter:uint = 5;
var child:Shape = new Shape();
child.graphics.beginFill(bgColor);
child.graphics.lineStyle(borderSize, borderColor);
child.graphics.drawRoundRect(0, 0, w, h, cornerRadius);
child.graphics.endFill();
child.x = container.x;
child.y = container.y -10;
container.mask = child;
}
//buildslider
slider.sliderKnop.buttonMode = true;
slider.sliderKnop.addEventListener(MouseEvent.MOUS E_DOWN,beginDrag);
function beginDrag(event:MouseEvent):void
{
slider.sliderKnop.startDrag(false,bounds);
draging = true;
slider.sliderKnop.addEventListener(Event.ENTER_FRA ME,checkingProgress);
stage.addEventListener(MouseEvent.MOUSE_UP,endDrag );
//container.removeEventListener(Event.SCROLL,updateS crollHandler);
}
function endDrag(event:MouseEvent):void
{
slider.sliderKnop.stopDrag();
draging = false;
}
function checkingProgress(event:Event):void
{
var moveDrag:Number = slider.sliderKnop.x - minScroll;
var procentDrag = moveDrag/scrollInterval;
var per:Number = Math.round((procentDrag) * 100);
if (draging)
{
var stand:Number = (per/100)* afstand;
var deX:Number= xmask + stand;
Tweener.addTween(container, {x:deX, time:2, transition:"easeOut"});
}
}
function clickURL(event:MouseEvent):void
{
//var percent:Number = Math.round( event.bytesLoaded / event.bytesTotal * 100 );
var url:String = "http://site";
var request:URLRequest = new URLRequest("javascript:" + xmlList[currentImage].attribute("url"));
try
{
navigateToURL(request, '_self');
}
catch (e:Error)
{
trace("Error occurred!");
}
}