Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: numero img per gallery

  1. #1

    numero img per gallery

    allora provo a spiegarmi

    codice:
    #include "com.qlod.LoaderClass.as"
    #include "lmc_tween_as1.as"
    //
    loader = new com.qlod.LoaderClass();
    loader.setMinSteps(8);
    $tweenManager.broadcastEvents = true;
    //$tweenManager.updateInterval = 15;
    //
    gallery = {};
    gallery.init = function() {
    	this.images = ["01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg","07.jpg"]; 	this.data = [];
    	//
    	this.resize_controller = {};
    	this.resize_controller.clips = [];
    	//
    	this.isAnimating = false;
    	this.imageborder = 4;
    	this.timeline = _root;
    	this.resizeClip = this.timeline.image_bg_mc;
    	this.contentClip = this.timeline.createEmptyMovieClip("image_mc", 500);
    	//
    	this.centerx = Stage.width/2;
    	this.centery = Stage.height/2;
    	//this.currentImageId = 0;
    	// if user press the next button on last picture it goes from 0
    	this.rotateMode = true;
    	this.buildNav();
    	this.preloadImages();
    	//attach credits
    	this.attachClip(credits, {right:0, bottom:0});
    };
    // call this functions from navigation functions
    gallery.buildNav = function() {
    	var btnsize = 11;
    	var navHolder = this.timeline.createEmptyMovieClip("navHolder", 10);
    	//var gallery = this;
    	for (var i = 0; i<this.images.length; i++) {
    		var btn = navHolder.attachMovie("imgbtn", "img"+i, i);
    		btn._x = btnsize/2+btnsize*i;
    		btn.id = i;
    		btn.loaded = false;
    		btn.onPress = function() {
    			gallery.showImage(this.id);
    		};
    		btn.onRollOver = function() {
    			this.over_mc.gotoAndPlay("overanim");
    		};
    		btn.onRollOut = function() {
    			this.over_mc.gotoAndPlay("outanim");
    		};
    		btn.onLoadStart = function(loaderObj) {
    			this.gotoAndPlay("loading");
    		};
    		btn.onLoadProgress = function() {
    			gallery.data[this.id].mc._alpha = 0;
    		};
    		btn.onLoadComplete = function(success, loaderObj) {
    			this.loaded = true;
    			gallery.data[this.id].mc._visible = false;
    			if (this.id == 0) {
    				gallery.showImage(this.id);
    			}
    		};
    		btn.stop();
    		var mc = this.contentClip.createEmptyMovieClip("img"+i, i+10);
    		this.data[i] = {btn:btn, mc:mc};
    	}
    	// attach nav top left
    	this.attachClip(navHolder, {center:-navHolder._width/2, top:-6});
    };
    gallery.preloadImages = function() {
    	var gallery = this;
    	for (var i = 0; i<this.images.length; i++) {
    		loader.load(this.data[i].mc, this.images[i], this.data[i].btn);
    	}
    };
    gallery.showNext = function() {
    	this.loadImage(this.currentImageId+1);
    };
    gallery.showPrev = function() {
    	this.loadImage(this.currentImageId-1);
    };
    gallery.showImage = function(id) {
    	if (id>=this.images.length) {
    		if (this.rotateMode) {
    			id = 0;
    		} else {
    			return;
    		}
    	} else if (id<0) {
    		if (this.rotateMode) {
    			id = this.images.length-1;
    		} else {
    			return;
    		}
    	}
    	//
    	if (this.currentImageId == undefined) {
    		this.currentImageId = id;
    		this.showNewImage();
    	} else {
    		if (this.isAnimating) {
    			this.nextToShow = id;
    		} else {
    			this.nextToShow = undefined;
    			this.prevImageId = this.currentImageId;
    			this.currentImageId = id;
    			this.hideOldImage();
    		}
    	}
    };
    gallery.hideOldImage = function() {
    	trace("hideold"+this.prevImageId);
    	//this.data[this.prevImageId].mc.stopTween()
    	this.isAnimating = true;
    	this.data[this.prevImageId].mc.alphaTo(0, 1, undefined, 0, {func:this.showNewImage, scope:this});
    };
    gallery.showNewImage = function() {
    	trace("shownew"+this.currentImageId);
    	var mc = this.data[this.currentImageId].mc;
    	// is loaded
    	if (this.data[this.currentImageId].btn.loaded) {
    		with (this) {
    			contentClip._x = centerx-mc._width/2;
    			contentClip._y = centery-mc._height/2;
    			//
    			this.data[this.prevImageId].mc._visible = false;
    			mc._visible = true;
    			mc.alphaTo(100, 1, undefined, 1, function () {
    				gallery.isAnimating = false;
    				trace(gallery.isAnimating)
    				if (gallery.nextToShow != undefined) {
    					gallery.showImage(gallery.nextToShow);
    				}
    			});
    			//
    			var dx = centerx-mc._width/2-imageborder;
    			var dy = centery-mc._height/2-imageborder;
    			var dw = mc._width+2*imageborder;
    			var dh = mc._height+2*imageborder;
    			resizeClip.tween(["_x", "_y", "_width", "_height"], [dx, dy, dw, dh], 1, "easeoutexpo");
    		}
    	} else {
    		// break preloading and load mc
    		loader.clear();
    		// load first the clicked image
    		var i = this.currentImageId;
    		this.data[i].btn.onLoadComplete = function(success, loaderObj) {
    			this.loaded = true;
    			gallery.showImage(this.id);
    		};
    		loader.load(this.data[i].mc, this.images[i], this.data[i].btn);
    		// continue the rest
    		for (var j = 0; j<this.images.length; j++) {
    			if (i != j && !this.data[j].btn.loaded) {
    				loader.load(this.data[j].mc, this.images[j], this.data[j].btn);
    			}
    		}
    	}
    };
    //function to attach clips to move with image bg
    //alignObj parameters 
    // mc - movieclip reference
    // attaching points + relative positions
    // left, right, center - numbers
    // top, bottom, middle - numbers
    gallery.attachClip = function(mc, alignObj) {
    	if (this.resize_controller.clips.length == 0) {
    		this.resize_controller.baseClip = this.resizeClip;
    		this.resize_controller.onTweenUpdate = function() {
    			for (var i in this.clips) {
    				var mc = this.clips[i].mc;
    				var align = this.clips[i].align;
    				if (align.left != undefined) {
    					mc._x = align.left+this.baseClip._x;
    				} else if (align.center != undefined) {
    					mc._x = align.center+this.baseClip._x+(this.baseClip._width/2);
    				} else if (align.right != undefined) {
    					mc._x = align.right+this.baseClip._x+this.baseClip._width;
    				}
    				if (align.top != undefined) {
    					mc._y = align.top+this.baseClip._y;
    				} else if (align.middle != undefined) {
    					mc._y = align.middle+this.baseClip._y+(this.baseClip._height/2);
    				} else if (align.bottom != undefined) {
    					mc._y = align.bottom+this.baseClip._y+this.baseClip._height;
    				}
    			}
    		};
    		this.resizeClip.addListener(this.resize_controller);
    	}
    	this.resize_controller.clips.push({mc:mc, align:alignObj});
    	this.resize_controller.onTweenUpdate();
    };
    gallery.deatachClip = function(mc) {
    	for (var i in this.resize_controller.clips) {
    		//
    	}
    };
    //
    gallery.init();
    Problema

    vorrei modificare lo script di questa gallery
    li in rosso sono indicate le foto
    io avrei bisogno di scrivere magari in un txt esterno il numero totale delle foto e fare in modo di poter creare quella parte segnata in rosso dinamicamente magari con un ciclo e se fosse possibile caricare le foto solo dopo il clik e non prima
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  2. #2
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  3. #3
    Ciao

    ti chiedo i nomi delle foto sono tutti uguali ?? o possono essere random?

    se sono tutti uguali ed hanno una parte progressiva come li hai scritti tu, ASP ti permette di conoscere il numero degli elementi

    ad esempio

    codice:
    <% 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set folderObject = fso.GetFolder(Server.MapPath("\public\upload\eventi\")) 
    Set filesObject = folderObject.Files 
    i=0 
    For Each file In filesObject 
    i=i+1 
    Next 
    response.write ("&total=" & tot & "&name=../public/upload/eventi/eventi&")
    Set fileObject = Nothing 
    Set folderObject = Nothing 
    Set fso = Nothing 
    %>
    ti restituisce Totale e path+(parte alfa delle foto)


    a quel punto esempio su 10 foto

    codice:
    inizio="["
    diviso=","
    fine="]"
    images=inizio
    for(I=1;I<11;I++){
       if(I<10){ante="0"}
       if(I>9){ante=""}
       images += "\"" + ante + I + ".jpg" + "\""
       if(I<11){
    	   images+=diviso
       }
    }
    images+= fine
    trace(images)

    Ma sono cxerto che non intendevi questo

  4. #4
    ciao ti spiego subito meglio

    io posso anche crearmi un txt dove vado a scrivere

    totalefoto=20 //per es.

    ora vorrei che la scritta in rosso si scrivesse "in automatico" per il totale di foto che ho così dichiaro io il numero tramite as io vorrei fare in modo da scrivere una variabile col totale e applicare la cosa al totale e non scrivendo 1.jpg ecc...,

    il problema qual'è che qui pe rfunzionare il tutto mi fa aspettare il caricamento di tutte le foto io vorrei che mi facesse i quadratini
    per il numero totale di foto e poi al clik sul quadratino 3 mi caricasse la relativa foto

    spero di essere stao chiaro ma non lo neanche io
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  5. #5
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  6. #6
    nessuno mi sadire come poter definire le img di questo script non in quella riga rossa come da codice, ma da un file di testo???
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    ciao,

    così hai provato?

    questa è la tua riga che vuoi rendere dinamica:
    codice:
    this.images = ["01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg","07.jpg"];
    nel file di testo scrivi:

    &array_testuale=["01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg","07.jpg"];

    poi nel flash inserisci il caricamento del contenuto di questo file di testo:

    codice:
    dati = new LoadVars();
    // significa: salva nella proprietà "path" dell'oggetto
    // "dati" un riferimento a questa (this) timeline
    // dove effettivamente giacciono i campi di testo
    dati.path = this;
    dati.onLoad = function(success)
    {
        if(success){
            // istruzioni per il caricamento corretto
            // trasferisci la variabile "nome" caricata dal
            // file esterno alla timeline in cui ci sono
            // i campi di testo, utilizzando come riferimento
            // la proprietà "path" dell'oggetto stesso,
            // indicato dal "this"
            this.path.nome = this.array_testuale;
    _global.array_testo = this.path.nome;
        } else {
            // istruzioni per l'errore di caricamento
        } 
    }; 
    dati.load("file.txt");
    poi la riga la cambi:
    this.images = array_testo;
    fammi sapere


    dies

  8. #8
    ciao e grazie per la risposta come da tue istruzioni ho modificato la cosa in questo modo

    codice:
    gallery.init = function() {
    
    	dati = new LoadVars();
    // significa: salva nella proprietà "path" dell'oggetto
    // "dati" un riferimento a questa (this) timeline
    // dove effettivamente giacciono i campi di testo
    dati.path = this;
    dati.onLoad = function(success){
        if(success){
            // istruzioni per il caricamento corretto
            // trasferisci la variabile "nome" caricata dal
            // file esterno alla timeline in cui ci sono
            // i campi di testo, utilizzando come riferimento
            // la proprietà "path" dell'oggetto stesso,
            // indicato dal "this"
            this.path.nome = this.array_testuale;
    		_global.array_testo = this.path.nome;
    		} else {
            // istruzioni per l'errore di caricamento
        } 
    }; 
    dati.load("file.txt");
    this.images = array_testo;   
    	this.data = [];
    	//
    file.txt

    contiene
    codice:
    &array_testuale=["01.jpg", "02.jpg", "03.jpg", "04.jpg", "05.jpg", "06.jpg","07.jpg"];
    non mi succede nulla incollando il codeice però
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476
    metti un pò di trace...e vedi se ti legge il file di testo

  10. #10
    codice:
    dati.load("file.txt");
    trace(array_testo); 
    this.images = array_testo;
    mi restituisce undefined
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.