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

Discussione: [AS2] spostamento foto

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    [AS2] spostamento foto

    ciao a tutti

    sto cercando di realizzare l'effetto che si vede in questo sito come si può vedere se vado su con il mouse la foto scorre verso il basso mentre se vado giu scorre verso l'alto chiaramente fino al suo limite massimo

    adesso io ho una clip che si chiama istanziata imageContainer che prende le immagini da un file xml queste immagini hanno dimensioni diverse come posso fare per realizzarlo?

    Grazie mille a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mmm...

    diciamo che qualcosa sono riuscita a fare ma il movimento è un pò scattoso e poi non riesco a capire come posso dirgli di andare giu se il mouse va su e su se il mouse va giu...

    codice:
    var mouseListener:Object = new Object();
    mouseListener.onMouseDown = function() {
    	this.isDrawing = true;
    };
    mouseListener.onMouseMove = function() {
        if (this.isDrawing) {
    		ZigoEngine.doTween(imageContainer, "_y", imageContainer._y - 50, 0.5, "easeOutExpo");
    		trace ("...");
        }
        updateAfterEvent();
    };
    mouseListener.onMouseUp = function() {
        this.isDrawing = false;
    };
    Mouse.addListener(mouseListener);
    :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    up

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Scusa ma non so come funziona ZigoEngine e non son riuscito a usarlo. Per fare questo test ho usato le tweener caurina e il risultato mi pare quello cercato.
    Codice PHP:
    var b:MovieClip _root.createEmptyMovieClip("b"_root.getNextHighestDepth());
    b.scrollRect = new flash.geom.Rectangle(00200300);
    var 
    t:TextField b.createTextField("t"b.getNextHighestDepth(), 00200300);
    t.autoSize "left";
    t.selectable false;
    t.multiline t.wordWrap true;
    var 
    l:LoadVars = new LoadVars();
    l.onLoad = function (b:Boolean) {if (b) {t.text l.result;}}
    l.load("result_lorem_ipsum.txt");

    b.onMouseMove = function () {
        if (
    this.hitTest(_xmouse_ymouse)) {
            
    caurina.transitions.Tweener.addTween(t, {_y:-(_ymouse/b.scrollRect.height*(t._height-b.scrollRect.height)), time:1});
        }

    Qui l'ho fatto con un testo, ma direi che anche mettendoci la foto il risultato è lo stesso.

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ecco quello per l'immagine, certo è che funziona solo in un verso. Cosa dovrebbe accadere se l'immagine è più larga che alta?
    Codice PHP:
    var b:MovieClip _root.createEmptyMovieClip("b"_root.getNextHighestDepth());
    b.scrollRect = new flash.geom.Rectangle(00Stage.widthStage.height);
    var 
    l:Object = new MovieClipLoader();
    l.onLoadInit = function (t:MovieClip) { t._height = (Stage.width t._height) / t._widtht._width Stage.widtht._y = (Stage.height t._height)/2t.forceSmoothing true; };
    l.loadClip("image.jpg"b.createEmptyMovieClip("m"b.getNextHighestDepth()));

    b.onMouseMove = function () {
        if (
    this.hitTest(_xmouse_ymouse)) {
            
    caurina.transitions.Tweener.addTween(b.m, {_y:-(_ymouse/b.scrollRect.height*(b.m._height-b.scrollRect.height)), time:1});
        }

    [edit] ho guardato nell'originale, accade che si ridimensiona con il ridimensionamento della finestra e finchè la larghezza è maggiore dell'altezza, il risultato non cambia. Mentre quando la proporzione si inverte, si inverte anche il movimento che da verticale passa ad orizzontale, non è complesso, ma ora non ho tempo (nè tanta voglia ) di svilupparlo.

    [riedit] credo di aver trovato la soluzione anche a questo passaggio, basta aggiungere anche la _x nel movimento sulla tweener poi è la gestione dello sfondo che "sceglie" il verso del movimento, semplicemente

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie And80 sei sempre gentilissimo!!! scusa il ritardo ma sono stata malata

    faccio una prova e ti faccio sapere!!
    grazie mille!!!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ... in effetti non sembra funzionare... sto cercando di capire ma è davvero complicato... sembrava una cosina piu facile

    l'hai provato il codice?

    grazie infinite

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Certo, funziona perfettamente. Probabilmente non ho capito cosa vuoi ottenere con esattezza oppure non hai scaricato la libreria della Tweener, per questo non funziona.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    codice:
    var b:MovieClip = _root.createEmptyMovieClip("b", _root.getNextHighestDepth()); 
    b.scrollRect = new flash.geom.Rectangle(0, 0, Stage.width, Stage.height); 
    var l:Object = new MovieClipLoader(); 
    l.onLoadInit = function (t:MovieClip) { t._height = (Stage.width * t._height) / t._width; t._width = Stage.width; t._y = (Stage.height - t._height)/2; t.forceSmoothing = true; }; 
    l.loadClip("photoGallery/1.jpg", b.createEmptyMovieClip("m", b.getNextHighestDepth())); 
    
    b.onMouseMove = function () { 
        if (this.hitTest(_xmouse, _ymouse)) { 
            caurina.transitions.Tweener.addTween(b.m, {_y:-(_ymouse/b.scrollRect.height*(b.m._height-b.scrollRect.height)), time:1});
    		caurina.transitions.Tweener.addTween(b.m, {_x:-(_xmouse/b.scrollRect.width*(b.m._width-b.scrollRect.width)), time:1});
        } 
    }
    
    var stageListener = new Object();
    stageListener.onResize = function (){
    	b._x = 0;// qui non dovrebbe posizionarsi a 0???
    	b._y = 0;
    	b.m._width = Stage.width;
    	b.m._height = Stage.height;
    };
    Stage.addListener(stageListener);
    hai ragione... funziona e ci siamo quasi
    se provo a ridimensionare lo stage non riesco a posizionare la clip a x=0 e y=0 occupando ttto lo stage...


    dove sbaglio?
    grazie

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Rossella_75
    codice:
    var b:MovieClip = _root.createEmptyMovieClip("b", _root.getNextHighestDepth()); 
    b.scrollRect = new flash.geom.Rectangle(0, 0, Stage.width, Stage.height); 
    var l:Object = new MovieClipLoader(); 
    l.onLoadInit = function (t:MovieClip) { t._height = (Stage.width * t._height) / t._width; t._width = Stage.width; t._y = (Stage.height - t._height)/2; t.forceSmoothing = true; }; 
    l.loadClip("photoGallery/1.jpg", b.createEmptyMovieClip("m", b.getNextHighestDepth())); 
    
    b.onMouseMove = function () { 
        if (this.hitTest(_xmouse, _ymouse)) { 
            caurina.transitions.Tweener.addTween(b.m, {_y:-(_ymouse/b.scrollRect.height*(b.m._height-b.scrollRect.height)), time:1});
    		caurina.transitions.Tweener.addTween(b.m, {_x:-(_xmouse/b.scrollRect.width*(b.m._width-b.scrollRect.width)), time:1});
        } 
    }
    
    var stageListener = new Object();
    stageListener.onResize = function (){
    	b._x = 0;// qui non dovrebbe posizionarsi a 0???
    	b._y = 0;
    	b.m._width = Stage.width;
    	b.m._height = Stage.height;
    };
    Stage.addListener(stageListener);
    hai ragione... funziona e ci siamo quasi
    se provo a ridimensionare lo stage non riesco a posizionare la clip a x=0 e y=0 occupando ttto lo stage...


    dove sbaglio?
    grazie
    Non sbagli da nessuna parte, quel codice serve solo per lo spostamento dell'immagine come nel sito che hai indicato. Per avere anche il ridimensionamento corretto ci vuole un codice specifico. Ho fatto un test sul codice di ridimensionamento che uso di solito e pare funzionare.
    Appena posso lo posto (ora sto scrivendo dal telefono).

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 © 2024 vBulletin Solutions, Inc. All rights reserved.