A Flash Developer Resource Site

Results 1 to 7 of 7

Thread: Code Error?

  1. #1
    Junior Member
    Join Date
    Jun 2010
    Posts
    20

    Code Error?

    I think I have an error in my code somewhere.. I wanted the picture to change every 5 seconds and it did until I put 3 uiloaders in there and then it gets stuck on the second time it loops. Anyone know why?

    next_btn.addEventListener(MouseEvent.CLICK, nextImage);

    var imageNumber:Number = 1


    function changeImg():void
    {
    imageNumber++;
    checkNumber();
    imageLoader.source = "images/poster"+imageNumber+".png";
    }
    function changeImg2():void
    {
    imageNumber++;
    checkNumber();
    imageLoader2.source = "images/poster"+imageNumber+".png";
    }
    function changeImg3():void
    {
    imageNumber++;
    checkNumber();
    imageLoader3.source = "images/poster"+imageNumber+".png";
    }

    var myInterval:uint = setInterval (changeImg, 5000);
    var myInterval2:uint = setInterval (changeImg2, 5000);
    var myInterval3:uint = setInterval (changeImg3, 5000);


    function checkNumber():void
    {
    next_btn.visible=true;
    back_btn.visible=true;

    if(imageNumber>3){
    trace(imageNumber);
    //next_btn.visible = false;
    imageNumber = 1;
    }
    }
    function checkNum():void
    {
    if(imageNumber<1){
    imageNumber = 3;
    }
    }


    function nextImage (evtObj:MouseEvent):void
    {
    imageNumber++;
    checkNumber();
    imageLoader.source = "images/poster"+imageNumber+".png";

    }

    back_btn.addEventListener(MouseEvent.CLICK, backImage);

    function backImage (evtObj:MouseEvent):void
    {
    imageNumber--;
    checkNum();
    imageLoader.source = "images/poster"+imageNumber+".png";

    }


    Any help is much appreciated. Thank you.

  2. #2
    :
    Join Date
    Dec 2002
    Posts
    3,518
    // change instance name of first uiLoader from 'imageLoader' to 'imageLoader1'
    Code:
    var _t:MovieClip=this;
    var imageNumber:uint=0;
    var myInterval:uint;
    
    getImage();
    
    next_btn.addEventListener(MouseEvent.CLICK, nextImage);
    back_btn.addEventListener(MouseEvent.CLICK, backImage);
    
    function getImage(num:int=1):void {
    	imageNumber+=num;
    	if (imageNumber>3) {
    		imageNumber=1;
    	} else if (imageNumber<1) {
    		imageNumber=3;
    	}
    	_t["imageLoader"+imageNumber].source="images/poster"+imageNumber+".png";
    	clearInterval(myInterval);
    	myInterval=setInterval(changeImg,5000);
    }
    
    function changeImg():void {
    	getImage();
    }
    function nextImage(evtObj:MouseEvent):void {
    	getImage();
    }
    function backImage(evtObj:MouseEvent):void {
    	getImage(-1);
    }

  3. #3
    Junior Member
    Join Date
    Jun 2010
    Posts
    20
    Do I completely erase all my other code and use that code? Or add that code to my code?

    Thank you.

  4. #4
    :
    Join Date
    Dec 2002
    Posts
    3,518
    Replace existing code.

  5. #5
    Junior Member
    Join Date
    Jun 2010
    Posts
    20
    When I do this, the images don't change, they change into the same image.

  6. #6
    :
    Join Date
    Dec 2002
    Posts
    3,518
    Sorry, use this instead....
    Code:
    var imageNumber:uint=0;
    var myInterval:uint;
    
    getImage();
    
    next_btn.addEventListener(MouseEvent.CLICK, nextImage);
    back_btn.addEventListener(MouseEvent.CLICK, backImage);
    
    function getImage(num:int=1):void {
    	imageNumber=limitVal(imageNumber+num);
    	imageLoader1.source="images/poster"+imageNumber+".png";
    	var i2=limitVal(imageNumber+1);
    	imageLoader2.source="images/poster"+i2+".png";
    	var i3=limitVal(i2+1);
    	imageLoader3.source="images/poster"+i3+".png";
    	clearInterval(myInterval);
    	myInterval=setInterval(changeImg,5000);
    }
    
    function limitVal(num:int):int {
    	if (num>3) {
    		num=1;
    	} else if (num<1) {
    		num=3;
    	}
    	return num;
    }
    
    function changeImg():void {
    	getImage();
    }
    function nextImage(evtObj:MouseEvent):void {
    	getImage();
    }
    function backImage(evtObj:MouseEvent):void {
    	getImage(-1);
    }

  7. #7
    Junior Member
    Join Date
    Jun 2010
    Posts
    20
    THANK YOU. This is such a huge relief after stubbornly working on this for the past couple of days. Much appretiation.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center