
Welcome Guest
|
#1
|
|||
|
|||
|
Error Message sounds like a timeline fix, i just dont understand! help!
hi, i have been trying to put together a photo portfolio in flash, but actionscript 3 is confusing me.....i can open and export my swf no problem, but when i click on my galley page it gives me
'TypeError: Error #1034: Type Coercion failed: cannot convert portfolio_fla::MainTimeline@1c19da61 to portfolio. at GalleryMC$iinit()' how do i fix this, or what have i done wrong?! Many thanks John My code is: Actionscript:
package {
import flash.display.MovieClip;
import flash.display.Loader;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.utils.Dictionary;
import flash.xml.*;
import utils.Fader;
import utils.Thumbnail;
public class GalleryMC extends MovieClip {
private var _track:EmptyTrack;
private var _scroller:MovieClip;
private var _imageArray:Array;
private var xmlLoader:URLLoader;
private var xmlData:XML = new XML();
private var loader:Loader;
private var paramDict[url="http://www.flashadvisor.com/forum/images/smilies/icon_biggrin.gif"]http://www.flashadvisor.com/forum/images/smilies/icon_biggrin.gif[/url]ictionary=new Dictionary;
private var lastShow:Number = -1;
private var scrollPaneX:int = 0;
private var scrollPaneY:int;
private var scrollPaneWidth:int;
private var scrollSpeed:int = 10;
private var scrollSpacer:int;
private var thumbWidth:int;
private var thumbNoImages:int;
private var currentImage:int = 0;
public function GalleryMC() {
scrollPaneY = 390;
scrollPaneWidth = 750;
scrollSpacer = 10;
portfolio(root).stopHere();
try {
xmlLoader= new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlLoadFail);
xmlLoader.load(new URLRequest("gallery1.xml"));
} catch (error:Error) {
trace("error");
}
}
private function xmlLoadFail(e:IOErrorEvent):void {
trace("Error loading XML");
}
private function xmlLoaded(e:Event):void {
xmlData = XML(xmlLoader.data);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.IN IT, makeScroller);
loader.load(new URLRequest(String(xmlData.pic.thumb[0])));
}
private function makeScroller(e:Event):void {
var thumbHeight:int = loader.content.height;
thumbWidth = loader.content.width;
thumbNoImages = xmlData.pic.length();
_imageArray = new Array(thumbNoImages);
loader.contentLoaderInfo.removeEventListener(Event .INIT, makeScroller);
var scrollTrackWidth:int = thumbWidth * thumbNoImages + scrollSpacer * (thumbNoImages - 1);
_track = new EmptyTrack(scrollPaneWidth, thumbHeight, scrollTrackWidth );
_track.x = scrollPaneX;
_track.y = scrollPaneY;
addChild(_track);
//make mask
_scroller = new MovieClip();
_scroller.graphics.beginFill(0xFFFFFF);
_scroller.graphics.drawRect(0, 0, scrollPaneWidth, thumbHeight);
_scroller.graphics.endFill();
_scroller.x = scrollPaneX;
_scroller.y = scrollPaneY;
_scroller.width = scrollPaneWidth;
_scroller.height = thumbHeight;
addChild(_scroller);
_track.mask = _scroller;
loadThumbnails();
addScrollListeners();
// show first picture as a default
loader.contentLoaderInfo.addEventListener(Event.IN IT, addImage);
loader.load(new URLRequest(String(xmlData.pic.largeimg[0])));
}
private function loadThumbnails():void {
var thumbnail:Thumbnail;
var thumbnailX:Number = 0;
for (var i:Number = 0; i < thumbNoImages; i++) {
thumbnail = new Thumbnail(String(xmlData.pic.thumb[i]) , String(xmlData.pic.largeimg[i]),i);
thumbnail.addEventListener(MouseEvent.CLICK, showImage);
_track.addChild(thumbnail);
thumbnail.x = thumbnailX;
thumbnail.y = 0;
thumbnailX += thumbWidth + scrollSpacer;
thumbnail.buttonMode = true;
}
}
private function showImage(e:MouseEvent):void {
if(lastShow == e.currentTarget.index)
return;
else if (_imageArray[e.currentTarget.index] == null) {
//trace("loading: " + e.currentTarget.index);
var mainUrl:String = Thumbnail(e.currentTarget).mainImageURL;
loader = new Loader();
loader.load(new URLRequest(mainUrl));
loader.contentLoaderInfo.addEventListener(Event.IN IT, addImage);
paramDict[loader]=e.currentTarget.index;
}
else{
//trace("found: " + e.currentTarget.index);
addChild(_imageArray[e.currentTarget.index]);
utils.Fader.fadeIn(_imageArray[e.currentTarget.index]);
lastShow = e.currentTarget.index;
currentImage = e.currentTarget.index;
}
}
private function addImage(e:Event):void {
lastShow=paramDict[e.currentTarget.loader];
var largeImage:MovieClip = new MovieClip();
largeImage.addChild(e.currentTarget.content);
loader.contentLoaderInfo.removeEventListener(Event .INIT, addImage);
_imageArray[lastShow]=largeImage;
addChild(largeImage);
utils.Fader.fadeIn(largeImage);
currentImage=lastShow;
MovieClip(root).outPut_txt.htmlText = String(xmlData.pic.about[currentImage]);
}
public function addScrollListeners():void {
_track.addEventListener(MouseEvent.ROLL_OVER,start Scroll);
_track.addEventListener(MouseEvent.ROLL_OUT, stopScroll);
}
//handlers that either add or delete the scroll enterframe event
private function startScroll(e:MouseEvent):void {
_track.addEventListener(Event.ENTER_FRAME, scrollThumbs);
}
private function stopScroll(e:MouseEvent):void {
_track.removeEventListener(Event.ENTER_FRAME, scrollThumbs);
}
private function scrollThumbs(e:Event):void {
_track.x += Math.cos((-_scroller.mou***/scrollPaneWidth)*Math.PI)*scrollSpeed;
if (_track.x>scrollPaneX) {
_track.x = scrollPaneX;
}
if (-_track.x>(_track.width-scrollPaneWidth-scrollPaneX)) {
_track.x = -(_track.width-scrollPaneWidth-scrollPaneX);
}
}
}
}
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
internal class EmptyTrack extends Sprite {
public function EmptyTrack(paneWidth:int,paneHeight:int, trackWidth:int) {
var track:Sprite = new Sprite();
track.graphics.beginFill(0xFFFFFF);
track.graphics.drawRect(0, 0, paneWidth, paneHeight);
track.graphics.endFill();
track.alpha=0;
track.width = trackWidth;
track.height = paneHeight;
addChild(track);
}
}Last edited by m. allen west : 01-19-2009 at 04:09 AM Reason: [AS] Tag needed [/AS] |
«
Previous Thread
|
Next Thread
»
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Main Timeline & Movieclip Timeline | BoogWeed | Newbies |
3 | 01-31-2007 01:40 AM |
| Movie Clip timeline to exact spot in main timeline? | tallscot | General Flash | 2 | 11-02-2006 05:46 AM |
| "Resampling" a timeline after changing framerate. | pixelpolice | Flash MX |
3 | 09-09-2005 08:54 PM |
| a horrible cocophony of sounds.....!!!!!!!! | viktajatt | Flash MX |
0 | 03-02-2005 06:39 PM |
| Initiating sounds from movie clip 1 that are located in movie clip 2 | hoglan | Sound and Music |
0 | 12-04-2002 06:31 PM |

Programming Languages



