Hey Cor
This is a continuation from the thing you were looking on Sunday for me! I took
your advice and re-wrote most of the code!
You will notice first time round it will trace all the correct info (5 image
URLs) for the array but when you get to...
trace("LOAD COMPLETE - "+ev.target.content.name);
It will only trace out 4 objects!
-----------------------------------------------------------
DynamicImage....
package {
import flash.display.MovieClip;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
public class DynamicImage extends MovieClip
{
private var _file:String;
public function set file (filename:String):void
{ // This is the function to set the file name
this._file = filename;
loadImage();
//////////////////////////////////////////////////////////////
// Start of Class
//////////////////////////////////////////////////////////////
}
public function DynamicImage()
{
}
private function loadImage():void
{
var imageLoader:Loader = new Loader(); // Set loader
try {
var imageURL:URLRequest = new URLRequest(this._file); // Set file name
imageLoader.load (imageURL);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,
loadComplete);
trace("DI URL - "+this._file);
}
catch (err:Error) {
trace("No files are loading - "+err);
}
}
private function loadComplete(ev:Event):void { // Load image dynamicly
trace("Image Being loaded");
this.addChild(ev.target.content);
trace("LOAD COMPLETE - "+ev.target.content.name);
}
}
}
----- Original Message -----
From: Cor
To: 'Flash Coders List'
Sent: Thursday, July 17, 2008 7:07 PM
Subject: RE: [Flashcoders] AS3 - Problem with first item in Array
What does your class DynamicImage look like?
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of SJM - Flash
Sent: donderdag 17 juli 2008 19:08
To: Flash Coders List
Subject: [Flashcoders] AS3 - Problem with first item in Array
Hi Guys im having a bit of a nightmare with the first item in an array!
For some reason when the flash file is first loaded it will not display any
information related to the first item in the array! When the flash its
reloaded it works fine!
Any ideas?
SJM
-----------------------------------------------------------------
My code...
package {
import flash.events.*;
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.geom.Point;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.filters.GlowFilter;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.display.StageScaleMode;
public class mainClass extends MovieClip
{
//////////////////////////////////////////////////////////////
// Vars and Arrays
//////////////////////////////////////////////////////////////
public var imageHolder:MovieClip;
public var containerX:Number = (stage.stageWidth / 5);
public var imgArray:Array = new Array("uploads/images/dev_xantium.jpg",
"uploads/images/dev_the-limes.jpg",
"uploads/images/dev_richmond-grove.jpg",
"uploads/images/dev_bridgewater-gardens.jpg",
"uploads/images/dev_gransmoor-gardens.jpg");
public var linkArray:Array = new Array("xantium",
"the-limes",
"57-richmond-grove",
"bridgewater-gardens",
"gransmoor-gardens");
public var titleArray:Array = new Array("Xantium",
"The Limes",
"57 Richmond Grove",
"Bridgewater Gardens",
"Gransmoor Gardens");
public var mycontainer:Array = new Array();
public var imageMask:Array = new Array();
//////////////////////////////////////////////////////////////
// Start of mainClass
//////////////////////////////////////////////////////////////
public function mainClass():void
{
for (var i:int = 0; i < 5; i++)
{
create_MCs(i, containerX, imgArray[i]);
containerX += (stage.stageWidth / 5) - 46;
}
}
//////////////////////////////////////////////////////////////
// Create MCs
//////////////////////////////////////////////////////////////
public function create_MCs(number:int, x:int, imgURL:String)
{
trace(imgURL);
// Create Container MC
mycontainer[number] = new MovieClip();
addChild(mycontainer[number]);
// Create new DynamicImage MC to hold loaded image
imageHolder = new DynamicImage();
imageHolder.file = imgURL;
mycontainer[number].addChild(imageHolder);
// Create mask MC and set mask to loaded image
imageMask[number] = new MovieClip();
imageMask[number].graphics.beginFill(0xFF0000);
imageMask[number].graphics.drawRect(-40, 0, 80, 200);
imageMask[number].graphics.endFill();
mycontainer[number].addChild(imageMask[number]);
// Set mask to loaded image
imageHolder.mask = imageMask[number];
// Set name for loaded image
mycontainer[number].name = number;
// Add listeners and button info
mycontainer[number].addEventListener(MouseEvent.MOUSE_OVER, mOver);
mycontainer[number].addEventListener(MouseEvent.MOUSE_OUT, mOut);
mycontainer[number].addEventListener(MouseEvent.CLICK, mClick);
mycontainer[number].mouseChildren = false;
mycontainer[number].buttonMode = true;
// Set new X/Y for main container
mycontainer[number].y = 40;
mycontainer[number].x = x;
// Set new X/Y for DynamicImage (containing image)
imageHolder.x = - 100;
imageHolder.y = 0;
// Set new X/Y for image mask
imageMask[number].y = 0;
// Apply outer glow to containers
var outerGlow:GlowFilter = new GlowFilter(0x000000, // color:uint,
1, // alpha:Number
11.0, // blurX:Number
11.0, // blurY:Number
0.34, // strength:Number
3, // quality:int
false, // inner:Boolean
false); // knockout:Boolean
mycontainer[number].filters = new Array(outerGlow);
}
//////////////////////////////////////////////////////////////
// Over/Out & Click Mouse events
//////////////////////////////////////////////////////////////
public function mOver(ev:MouseEvent):void
{
var tweener = imageMask[ev.target.name];
var overTween:Tween = new Tween (tweener, // obj:Object
"width", // prop:String
Elastic.easeOut, // func:Function
80, // begin:Number
200, // finish:Number
2, // duration:Number
true); // useSeconds:Boolean = false
setChildIndex(mycontainer[ev.target.name], (numChildren - 1));
}
public function mOut(ev:MouseEvent):void
{
var tweener = imageMask[ev.target.name];
var outTween:Tween = new Tween (tweener, "width", Elastic.easeOut, 200,
80, 2, true);
}
public function mClick ( ev:MouseEvent ):void
{
goGetURL("index.php?page="+linkArray[ev.target.name],"");
}
//////////////////////////////////////////////////////////////
// Useful functions - goGetURL
//////////////////////////////////////////////////////////////
public function goGetURL(myurl:String,taarget:String):void
{
var url:String = myurl;
var request:URLRequest = new URLRequest(url);
try
{
navigateToURL(request, target);
}
catch (e:Error)
{
trace("Error occurred!");
}
}
}
}
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders