Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6

Thread: Simple question

  1. #1
    New to the CF scene
    Join Date
    May 2009
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Question Simple question

    Hi! I hope someone can help me!

    I've been searching a slideshow for my phone... and found that
    the nokia 6300 only reads a standalone swf file when setup as a screensaver
    (no xml, folder, etc) while executes very well as slideshow manually (reads both
    xml, folder with images and swf file).

    Now the question, I need to import the images and the xml info into the swf file

    How I do it?

    Thanks, Aldo

    Actionscript
    Code:
    /****************************/
    /* Crossfading slide show   */
    /* Author: Todd Dominey     */
    /* http://whatdoiknow.org   */
    /* http://domineydesign.com */
    /****************************/
    
    // set random # variables - each must be 0 for first 'while' loop below
    var randomNum = 0;
    var randomNumLast = 0;
    
    // parent container
    var container_mc = this.createEmptyMovieClip("container",0);
    // movie clip containers
    container_mc.createEmptyMovieClip("loader1_mc",2);
    container_mc.createEmptyMovieClip("loader2_mc",1);
    
    // preload watcher
    this.createEmptyMovieClip("watcher_mc",100);
    
    // load xml
    images_xml = new XML();
    images_xml.ignoreWhite=true;
    images_xml.onLoad = parse;
    images_xml.load("images.xml");
    
    function parse(success) {
    	if (success) {
    		imageArray = new Array();
    		var root = this.firstChild;
    		_global.numPause = Number(this.firstChild.attributes.timer * 1000);
    		_global.order = this.firstChild.attributes.order;
    		_global.looping = this.firstChild.attributes.looping;
    		_global.fadetime = Number(this.firstChild.attributes.fadetime);
    		_global.xpos = Number(this.firstChild.attributes.xpos);
    		_global.ypos = Number(this.firstChild.attributes.ypos);
    		var imageNode = root.lastChild;
    		var s=0;
    		while (imageNode.nodeName != null) {
    			imageData = new Object;
    			imageData.path = imageNode.attributes.path;
    			imageArray[s]=imageData;
    			imageNode = imageNode.previousSibling;
    			s++;
    		}
    		// place parent container
    		container_mc._x = _global.xpos;
    		container_mc._y = _global.ypos;
    		// parse array
    		imageArray.reverse();
    		imageGen(imageArray);
    	} else {
    		trace('problem');
    	}
    }
    
    // depth swapping
    function swapPlace(clip,num) {
    	eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
    }
    
    function loadImages(data,num) {
    	if (i==undefined || i == 2) {
    		i=2;
    		createLoader(i,data,num);
    		i=1;
    	} else if (i==1) {
    		createLoader(i,data,num);
    		i=2;
    	}
    }
    function createLoader(i,data,num) {
    	thisLoader=eval("container_mc.loader"+i+"_mc");
    	thisLoader._alpha=0;
    	thisLoader.loadMovie(data[num].path);
    	watcher_mc.onEnterFrame=function () {
    		var picLoaded = thisLoader.getBytesLoaded();
    		var picBytes = thisLoader.getBytesTotal();
    		if (isNaN(picBytes) || picBytes < 4) {
    			return;
    		}
    		if (picLoaded / picBytes >= 1) {
    			swapPlace("container_mc.loader2_mc",1);
    			alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
    			timerInterval = setInterval(imageGen,_global.numPause,data);
    			delete this.onEnterFrame;
    		}
    	}
    }
    function imageGen(data) {
    	// random, or sequential?
    	if (_global.order=="random") {
    		// choose random # between 0 and total number of images
    		while (randomNum == randomNumLast) {
    			randomNum = Math.floor(Math.random() * data.length);
    			trace(randomNum);
    		}
    		loadImages(data,randomNum);
    		randomNumLast = randomNum;
    	} else if (_global.order=="sequential") {
    		// start at 0, increment to total number of images, then drop back to zero when done
    		if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
    		loadImages(data,p);
    		p++;
    	} else {
    		trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
    	}
    	clearInterval(timerInterval);
    }
    stop();
    XML
    Code:
    <!--
      
    'timer' :: number of seconds between each image transition
    'order' :: how you want your images displayed. choose either 'sequential' or 'random'
    'looping' :: if the slide show is in sequential mode, this stops the show at the last image (use 'yes' for looping, 'no' for not)
    'fadeTime' :: velocity of image crossfade. Increment for faster fades, decrement for slower. Approximately equal to seconds.
    'xpos' :: _x position of all loaded clips (0 is default)
    'ypos' :: _y position of all loaded clips (0 is default)
    -->
    −
    <gallery timer="5" order="sequential" fadetime="2" looping="yes" xpos="0" ypos="0">
    <image path="images/0.jpg"/>
    <image path="images/1.jpg"/>
    <image path="images/2.jpg"/>
    <image path="images/3.jpg"/>
    <image path="images/4.jpg"/>
    <image path="images/5.jpg"/>
    <image path="images/6.jpg"/>
    <image path="images/7.jpg"/>
    </gallery>

  • #2
    Senior Coder gnomeontherun's Avatar
    Join Date
    Sep 2007
    Location
    Houston
    Posts
    2,846
    Thanks
    10
    Thanked 238 Times in 229 Posts
    You can see how to put the XML into the SWF in the other thread you posted on.

    To include the images, well you put it into the library of the document. Then the problem arises that you aren't loading them externally and your code is then somewhat defunct.

    You would just then make an array with the values of the image names to replace the XML object that is created.
    jeremy - gnomeontherun
    Educated questions often get educated answers, and simple questions often get simple answers.

  • #3
    New to the CF scene
    Join Date
    May 2009
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hello Jeremy thanks for your time!

    I think dont know nothing about coding

    but I'll keep learning

    by the way Ive trying to merge the code you show
    above into the actions with no luck!

    Code:
    /****************************/
    /* Crossfading slide show   */
    /* Author: Todd Dominey     */
    /* http://whatdoiknow.org   */
    /* http://domineydesign.com */
    /****************************/
    
    // set random # variables - each must be 0 for first 'while' loop below
    var randomNum = 0;
    var randomNumLast = 0;
    
    // parent container
    var container_mc = this.createEmptyMovieClip("container",0);
    // movie clip containers
    container_mc.createEmptyMovieClip("loader1_mc",2);
    container_mc.createEmptyMovieClip("loader2_mc",1);
    
    // preload watcher
    this.createEmptyMovieClip("watcher_mc",100);
    
    images_xml = new XML("<xml>  
       <images>  
          <image path= '0.jpg' />  
          <image path= '1.jpg' />
          <image path= '2.jpg' />
          <image path= '3.jpg' />
    	  <image path= '4.jpg' />
    	  <image path= '5.jpg' />
    	  <image path= '6.jpg' />
        </images>
    </xml>");
    
    images_xml.ignoreWhite = true;
    images_xml.onLoad = loadImages;
    
    function parse(success) {
    	if (success) {
    		imageArray = new Array();
    		var root = this.firstChild;
    		_global.numPause = Number(this.firstChild.attributes.timer * 1000);
    		_global.order = this.firstChild.attributes.order;
    		_global.looping = this.firstChild.attributes.looping;
    		_global.fadetime = Number(this.firstChild.attributes.fadetime);
    		_global.xpos = Number(this.firstChild.attributes.xpos);
    		_global.ypos = Number(this.firstChild.attributes.ypos);
    		var imageNode = root.lastChild;
    		var s=0;
    		while (imageNode.nodeName != null) {
    			imageData = new Object;
    			imageData.path = imageNode.attributes.path;
    			imageArray[s]=imageData;
    			imageNode = imageNode.previousSibling;
    			s++;
    		}
    		// place parent container
    		container_mc._x = _global.xpos;
    		container_mc._y = _global.ypos;
    		// parse array
    		imageArray.reverse();
    		imageGen(imageArray);
    	} else {
    		trace('problem');
    	}
    }
    
    // depth swapping
    function swapPlace(clip,num) {
    	eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
    }
    
    function loadImages(data,num) {
    	if (i==undefined || i == 2) {
    		i=2;
    		createLoader(i,data,num);
    		i=1;
    	} else if (i==1) {
    		createLoader(i,data,num);
    		i=2;
    	}
    }
    function createLoader(i,data,num) {
    	thisLoader=eval("container_mc.loader"+i+"_mc");
    	thisLoader._alpha=0;
    	thisLoader.loadMovie(data[num].path);
    	watcher_mc.onEnterFrame=function () {
    		var picLoaded = thisLoader.getBytesLoaded();
    		var picBytes = thisLoader.getBytesTotal();
    		if (isNaN(picBytes) || picBytes < 4) {
    			return;
    		}
    		if (picLoaded / picBytes >= 1) {
    			swapPlace("container_mc.loader2_mc",1);
    			alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
    			timerInterval = setInterval(imageGen,_global.numPause,data);
    			delete this.onEnterFrame;
    		}
    	}
    }
    function imageGen(data) {
    	// random, or sequential?
    	if (_global.order=="random") {
    		// choose random # between 0 and total number of images
    		while (randomNum == randomNumLast) {
    			randomNum = Math.floor(Math.random() * data.length);
    			trace(randomNum);
    		}
    		loadImages(data,randomNum);
    		randomNumLast = randomNum;
    	} else if (_global.order=="sequential") {
    		// start at 0, increment to total number of images, then drop back to zero when done
    		if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
    		loadImages(data,p);
    		p++;
    	} else {
    		trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
    	}
    	clearInterval(timerInterval);
    }
    stop();
    For the array issue I'm so lost too

  • #4
    Senior Coder gnomeontherun's Avatar
    Join Date
    Sep 2007
    Location
    Houston
    Posts
    2,846
    Thanks
    10
    Thanked 238 Times in 229 Posts
    Is this just so you can have a personal screensaver on your phone? If you are just wanting me to create something for you like that, I'd either ask for you to post it in the web projects and be willing to pay for someone to make it work for you. We are here to help others, not to do it all for them
    jeremy - gnomeontherun
    Educated questions often get educated answers, and simple questions often get simple answers.

  • #5
    New to the CF scene
    Join Date
    May 2009
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ok perfect I'll understand that.

    I wanted a screensaver in flash with random photos from a folder, thats all.
    things get complicated in how the phone handles the swf file...

    Ill use that as slideshow, its OK

  • #6
    Senior Coder gnomeontherun's Avatar
    Join Date
    Sep 2007
    Location
    Houston
    Posts
    2,846
    Thanks
    10
    Thanked 238 Times in 229 Posts
    Thanks for understanding, I don't mind helping but it does take a long time to create some of these scripts. I also don't know much about mobile platforms at the moment, but good luck!
    jeremy - gnomeontherun
    Educated questions often get educated answers, and simple questions often get simple answers.


  •  

    Posting Permissions

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