LOADING
Loading
Hi , welcome back.
LogoutLOGOUT
 
  Lost password?  
Hi
 




 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 01-18-2009, 12:40 AM
spikehos spikehos is offline
Registered User
 
Join Date: Jan 2009
Location: United Kingdom
Posts: 4
Rep Power: 0
spikehos is on a distinguished road
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]
Reply With Quote
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

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




All times are GMT. The time now is 11:47 PM.