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

Discussione: zoom foto da file XML

  1. #1
    Utente di HTML.it L'avatar di max103
    Registrato dal
    Dec 2005
    Messaggi
    317

    zoom foto da file XML

    ho scaricato questo template per un sito personale

    http://www.flashmo.com/preview/flashmo_061_portfolio

    cliccando sul secondo pulsante (quello rosso) compare una piccola scheda che tramite file XML e AS carica le specifiche dei lavori realizzati. Cliccando sotto la thumbnail del lavoro visualizzato "visit this webpage", è possibile aprire un link esterno

    io dovrei fare la seguente modifica: invece di aprire un link esterno, vorrei fare lo zoom della thumbnail,
    rimanendo nella stessa schermata,
    semplicemente la foto che si zomma e un link, o un pulsantino per richiuderla e tornare indietro

    come posso risolvere?

  2. #2
    beh ti basterebbe avere l'img grande e linkare a quella magari la metti in un clip
    quindi fai un clip in questo clip ci metti un preload ed invii a questo clip la var che ti interessa cioè il percorso dell'img grande....

    questo x grosse linee quello che dovresti fare
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it L'avatar di max103
    Registrato dal
    Dec 2005
    Messaggi
    317
    si è proprio quello che vorrei fare.

    con la dovuta calma, è possibile avere un piccolo esempio dal click sulla thumbnail in poi?

  4. #4
    Ci provo

    diciamo che se la foto caricata è grande e dopo preload la rimpicciolisci, puoi storicizzare
    nello stesso mc che contiene il thumbnail queste informazioni

    mc.foto = // percorso+nome foto
    mc.W = // larghezza originale
    mc.H = // Altezza originale
    mc.myLink = // url da storicizzare

    quindi
    codice:
    mc.onPress=function(){
         creaZoom(this.foto,this.W,this.H,this.myLink)
    }
    
    function creaZoom(immagine,newW,newH,newLink){
    
    // creare un clip contenitore
    var BOX:MovieClip =   this.createEmptyMovieClip("boxZoom",this.getNextHighestDepth())
    
    // preparati nella lib un clip con il pulsante per chiudere  il BOX (zoom) concatenato closeBTN
    BOX.attachMovie("closeBTN",1)
    
    // creare il campo per il link che ti serve
    BOX.createTextField("linkSK",2,0,BOX.closeBTN._height,100,20)
    BOX.linkSK.html=true
    BOX.linkSK.htmlText="LINK:"+newLink+""
    BOX.linkSK.autoSize="Left"
    
    // creare clip per caricamento immagine
    BOX.createEmptyMovieClip("pic",3)
    BOX.pic._y=BOX.closeBTN._height+20
    BOX.pic.loadMovie(immagine)
    BOX._x = (Stage.width-newW)/2
    BOX._y = (Stage.height-newH)/2
    }
    
    BOX.closeBTN.onPress=function(){
           BOX.pic.unloadMovie()
           BOX.pic.removeMovieClip()
           BOX.linkSK.removeMovieClip()
           BOX.closeBTN.removeMovieClip()
           BOX.removeMovieClip()
    }
    Non ho modo di verificarlo ma è una base di partenza e può essere sicuramente implementato ed ottimizzato

    Ciao

  5. #5
    Utente di HTML.it L'avatar di max103
    Registrato dal
    Dec 2005
    Messaggi
    317
    avrò bisogno di un paio di giorni per capire cosa mi hai proposto e come metterlo in pratica,
    faccio una prova e ti faccio sapere

    per ora grazie

  6. #6
    se c'è qualche passaggio che non ti è chiaro parliamone così eviti di perdere tempo

    Son qui per quanto possibile

  7. #7
    Utente di HTML.it L'avatar di max103
    Registrato dal
    Dec 2005
    Messaggi
    317
    un primo dubbio che mi viene in mente:
    dato che nella pagina c'è una tendina che si carica da un file XML,
    devo prendere il nome foto da li

    attualmente il link è recuperato da un button con istanza "button" (è il button che vorrei utilizzare per zommare la foto)

    quindi qui come diventa?
    mc.foto = // percorso+nome foto


    ti allego anche il codice AS e il file XML

    AS sull'mc che contiene la thumbnail:
    codice:
    // Developed by www.flashmo.com
    var item_filename:Array = new Array();
    var item_label:Array = new Array();
    var item_url:Array = new Array();
    var item_description:Array = new Array();
    var folder:String = "thumbnails/";
    var total:Number;
    var i:Number = 0;
    var p:Number = 0;
    var item_spacing:Number = 2;
    var scrolling_speed:Number = 0.25; // 0.00 to 1.00
    var cv:Number = 0;
    var cv_old:Number = 0;
    var onDrag:Boolean;
    var xml:XML = new XML();
    item_list_area._visible = false;
    stop();
    
    xml.onLoad = function()
    {
    	item_list.fm_item._visible = false;
    	var nodes = this.firstChild.childNodes;
    	total = nodes.length;
    
    	for( i = 0; i < total; i++)
    	{
    		item_filename[i] = nodes[i].attributes.filename;
    		item_label[i] = nodes[i].attributes.label;
    		item_url[i] = nodes[i].attributes.url;
    		item_description[i] = nodes[i].attributes.description;
    	}
    	create_item_list();
    	scroller();
    }
    xml.load( xml_file );
    xml.ignoreWhite = true;
    function create_item_list():Void
    {
    	for( i = 0; i < total; i++)
    	{
    		var item = item_list.fm_item.duplicateMovieClip("fm_item"+i, i);
    		item._y = i * (item_list.fm_item._height + item_spacing);
    		item.item_label.text = item_label[i];
    		item.no = i;
    		
    		item.item_button.onRelease = function()
    		{
    			this._parent._parent._parent.change_item(this._parent.no);
    		}
    	}
    	change_item(0);	// load the first item detail
    }
    function change_item(no:Number):Void
    {
    	title.text = item_label[no];
    	description.text = item_description[no];
    	url.text = item_url[no];
    	this.item_pic.loadMovie(folder + item_filename[no]);
    	button.onRelease = function()
    	{
    		getURL(item_url[no]);
    	}
    }
    var theMenu:ContextMenu = new ContextMenu();
    theMenu.hideBuiltInItems(); _root.menu = theMenu;
    var item:ContextMenuItem = new ContextMenuItem("Created by www.flashmo.com", flashmo);
    theMenu.customItems[0] = item;
    function flashmo() {	getURL("http://www.flashmo.com");	}
    function scroller():Void
    {
    	scroller_mc._y = scrollable_area_mc._y;
    	item_list._y = item_list_area._y;
    	sr = item_list_area._height/item_list._height;
    	scroller_mc._height = scrollable_area_mc._height * sr;
    	sd = scrollable_area_mc._height - scroller_mc._height;
    	cd = item_list._height - item_list_area._height;
    	cr = cd / sd;
    	item_list.setMask(item_list_area);
    	
    	if( item_list._height <= item_list_area._height )
    	{
    		scroller_mc._visible = scrollable_area_mc._visible = false;
    	}
    	else
    	{
    		scroller_mc._visible = scrollable_area_mc._visible = true;
    	}
    	scroller_mc.onPress = function()
    	{
    		this.startDrag(false, this._x, scrollable_area_mc._y, this._x, 
    					   scrollable_area_mc._y + scrollable_area_mc._height - this._height + 1);
    		onDrag = true;
    		this.onEnterFrame = function()
    		{
    			new_y = item_list_area._y + scrollable_area_mc._y*cr - this._y*cr;
    			cv = (new_y - item_list._y) * scrolling_speed;
    			item_list._y += cv;
    			if( onDrag == false && cv_old == cv )
    				delete this.onEnterFrame;
    			cv_old = cv;
    		}
    	}
    	scroller_mc.onRelease = scroller_mc.onReleaseOutside = function()
    	{
    		this.stopDrag();
    		onDrag = false;
    	}
    }


    e questo è il file XML:
    codice:
    <thumbnails>
    
    	<thumbnail filename="thumbnail_01.jpg" 
    		label="Label foto 047" 
    		url="#" /*questo è il link a sito esterno che vorrei sostituire con zoom foto*/
    		description="Descrizione foto rappresentata nella thumbnail." />
    
    	<thumbnail filename="thumbnail_01.jpg" 
    		label="Label foto 047" 
    		url="#" /*questo è il link a sito esterno che vorrei sostituire con zoom foto*/
    		description="Descrizione foto rappresentata nella thumbnail." />
    
    	<thumbnail filename="thumbnail_01.jpg" 
    		label="Label foto 047" 
    		url="#" /*questo è il link a sito esterno che vorrei sostituire con zoom foto*/
    		description="Descrizione foto rappresentata nella thumbnail." />
    					
    </thumbnails>

  8. #8
    sono un po stanco ma sembra che u abbia tutto ciò che ti serve

    item_filename[i] = nodes[i].attributes.filename;
    item_label[i] = nodes[i].attributes.label;
    item_url[i] = nodes[i].attributes.url;
    item_description[i] = nodes[i].attributes.description;

    hai tutte le informazioni registrae in array


    x ogni item hai item.no che è il valore Indice degli array


    quindi qui come diventa?
    mc.foto = item_filename[item.no]

    e così via.

  9. #9
    Utente di HTML.it L'avatar di max103
    Registrato dal
    Dec 2005
    Messaggi
    317
    ho inserito il tuo codice, dopo quello che ti ho postato prima,

    ho creato nella lib il mc con nome "closeBTN" poi ho selezionato concatenamento > Esporta per Action Script e su identificatore ho indicato "closeBTN"

    ora mi da questo errore che ti allego in gif

    ti allego anche l'url dello script originale
    http://www.flashmo.com/preview/flashmo_061_portfolio

    queste sono le modifiche che ho fatto io:
    codice:
    /*by rempox*/
    mc.foto = item_filename[item.no] // percorso+nome foto
    mc.W = 400 // larghezza originale
    mc.H = 400 // Altezza originale
    mc.myLink = item_url[item.no]// url da storicizzare
    Immagini allegate Immagini allegate

  10. #10
    eh...si nella fretta di scrivere ho sbagliato la sintassi

    BOX.attachMovie("closeBTN", "closeBTN",1)
    // nome concatenamento, nuovo nome da attribuire, profondità

    quando ti succede basta che guardi la guida

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.