Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414

    sliding continuo lista dinamica

    ho una lista dinamica che da un xml carica k Item all'interno dell'mc contenitore barra1, e che entrano in scena con una animazione

    Codice PHP:
    var = new Array();
    for (var 
    0k<parsed.lengthk++) {
        var 
    this.barra1.attachMovie("item""item"+kk);
        
    t._x = -350;
        
    t.titolo parsed[k].title;
        
    t.numero k;
        
    t.dati parsed[k].date;
        
    a.push(t);
    }
    var 
    j:Number 0;
    var 
    v:Object = new Tween(a[0], "_x"Back.easeOut12600.25true);
    v.onMotionFinished = function() {
        
    j++;
        if (
    j<a.length) {
            
    this.finish this.finish+this.obj._width+1;
            
    this.obj a[j];
            
    this.start();
        } else {
            
    this.onMotionFinished null;
            
    _root.slide=true;
            }
    }; 
    alla fine dell'entrata degli Item, parte un azione che si trova sull'mc contenitore (barra1) che fa muovere a destra e a sinistra a seconda della posizione del mouse l'mc barra1 con tutti i suoi item interni
    Codice PHP:
    onClipEvent (enterFrame) {
        if (
    _root.slide==true){
            
    margineBordo = new Object();
            
    margineBordo _parent.bordo.getBounds(_parent);
            
    margineGal = new Object();
            
    margineGal this.getBounds(_parent);
            
    vel 15;

            
    movet = -((_level0._xmouse-_parent.bordo._x)-(_parent.bordo._width))/vel;
            if (
    margineGal.xMax<margineBordo.xMax and movet<0) {
                
    movet 0;
            }
            if (
    margineGal.xMin>margineBordo.xMin and movet>0) {
                
    movet 0;
            }
            if (
    _parent.bordo.hitTest(_root._xmouse_root._ymouse) == false) {
                
    movet 0;
            }
            
    setProperty(this_xthis._x+movet);}
            
        

    bordo è un rettangolo grande quanto l'area attiva se con il mouse si è fuori da qst area l'mc barra1 non si muove

    a qst punto ho un problema

    l'mc barra1 si muove correttamente, ma non torna mai precisamente nella stessa posizione,allora visto che non ho trovato una soluzione migliore vorrei fare uno slide continuo, cioè se scorro la lista da destra a sinistra non vedò mai la fine

    come lo faccio?

    ho provato a duplicare alla fine dell'entrata degli item l'mc barra1

    Codice PHP:
    v.onMotionFinished = function() {
        
    j++;
        if (
    j<a.length) {
            
    this.finish this.finish+this.obj._width+1;
            
    this.obj a[j];
            
    this.start();
        } else {
            [
    COLOR=orange]barra1.duplicateMovieClip("barra2"1); [/COLOR]
                              [
    COLOR=orange]barra2._y=barra1.x-barra1._width;[/COLOR]                        _root.sens1.gotoAndStop(1);
            
    this.onMotionFinished null;
            
    _root.slide=true;
            }
    }; 
    ma mi duplica solo l'mc vuoto senza gli item che ho precedentemente fatto entrare, e inoltre non mi considera neanche la nuova ._x

    qualcuno sa aiutarmi?
    vorrei o risolvere qst problema o trovare un modo, magari con le tween, di spostare a seconda della posiz del mouse la mia lista, se non in maniera ciclica almeno in maniera precisa
    ringrazio anticipatamente

  2. #2

  3. #3
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    nessuno può aiutarmi a creare una lista di item caricati tramite db che scorre orizzontalmente con il moviemnto del mouse in maniera ciclica?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    grazie a qst tutorial
    sono riuscito ad applicare lo slide alla mia barra, e anche a duplicarla
    l'unico problema è che la barra mi viene duplicata vuota e non con tutte le icone caricate da xml come nella barra originale, perchè?

    io ho messo il controllo dello slide in un mc al 2 frame di un altro mc (control) cosi lo slide partirà solo dope che è finito il caricamento, lo script è lo stesso che c'è sul tutorial a parte l'indirizzo assoluto della barra
    Codice PHP:
    onClipEvent (load) {
        
    _visible false;
        
    centro 450;
        
    larghezza _root.larg;
        
    trace(larghezza);
        
        
    //larghezza = _root.barra1._width;
        
    destra centro larghezza;
        
    sinistra centro larghezza;
        
    _root.lista.barra1.duplicateMovieClip("barra2"2);
        
    _root.lista.barra2._x destra;
    }
    onClipEvent (mouseMove) {
        
    _x _root._xmouse;
    }
    onClipEvent (enterFrame) {
        
    mouseX Math.round(_x-centro)*-1;
        
    mouseX Math.round(mouseX/15);
        
    _root.lista.barra1._x += mouseX;
        
    _root.lista.barra2._x += mouseX;
        
    barra1X _root.lista.barra1._x;
        
    barra2X _root.lista.barra2._x;
        if (
    barra1X sinistra) {
            
    _root.lista.barra1._x barra2X larghezza;
        }
        if (
    barra2X sinistra) {
            
    _root.lista.barra2._x barra1X larghezza;
        }
        if (
    barra1X destra) {
            
    _root.lista.barra1._x barra2X larghezza;
        }
        if (
    barra2X destra) {
            
    _root.lista.barra2._x barra1X larghezza;
        }

    qst script parte perchè alla fine del parsing e della animazione delle icone lo script manda al 2 frame del mc control

    Codice PHP:
    import mx.transitions.*;
    import mx.transitions.easing.*;

    var 
    = new Array();
    for (var 
    0k<parsed.lengthk++) {

        var 
    this.barra1.attachMovie("item""item"+kk);
        
    t._y 425;
        
    t._x 0;
        
    t.numero k+1;
        
    t.titolo parsed[k].titolo;
        
    t.anno parsed[k].anno;
        
    t.cliente parsed[k].cliente;
        
    t.agenzia parsed[k].agenzia;
        
    t.tecnica parsed[k].tecnica;
        
    t.thumb parsed[k].thumb;
        
    t.pict parsed[k].pict;
        
    t.anim parsed[k].anim;
        
    a.push(t);
    }
    var 
    j:Number 0;
    var 
    v:Object = new Tween(a[0], "_y"Back.easeOutt._y0.25true);
    v.onMotionFinished = function() {
        
    j++;
        if (
    j<a.length) {
            
    a[j]._x+=this.obj._width*j;
            
    //this.finish = this.finish+this.obj._width+0.5;
            
    this.obj a[j];
            
    this.start();
        } else {
            
    this.onMotionFinished null;
            
    _root.sens1.gotoAndStop(1);
            
    _root.larg=120*j;        
            
    control.gotoAndStop(2);
            
            
    /*if (parsed.length>9) {
                _root.slide = true;
            }*/
        
    }
    }; 
    in teoria funziona perchè la bara viene effettivamente duplicata e riposizionata a seconda della pos del mouse, però è vuota!

    nel tutorial si fa riferimento ad una barra che carica immagini dalla libreria, nel mio caso la barra carica immagini di numero variabile,
    cmq la larghezza della barra sono riuscito a islarla ed a utilizzarla nello slide moltiplicando la larghezza di ogni icona per il numero di icone caricate tramite xml

    _root.larg=120*j;

    vabbe spero che qlc1 mi possa aiutare

    grazie cmq

  6. #6
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    per adesso l'unica soluzione che ho trovato e far ricaricare sulla barra2 di nuovo tutte le icone già caricate sulla barra1 ma non vorrei che in rete ci fossero dei rallentamenti a causa del caricamento
    Codice PHP:
    onClipEvent (load) {
        
    _visible false;
        
    centro 800;
        
    larghezza _root.larg;
        
    //larghezza = _root.barra1._width;
        
    destra _root.lista.barra1._x larghezza;
        
    sinistra _root.lista.barra1._x larghezza;
        
    _root.lista.barra1.duplicateMovieClip("barra2"2);
        
    trace(_parent._parent.parsed.length);
        
        for (var 
    0k<_parent._parent.parsed.lengthk++) {

        var 
    _root.lista.barra2.attachMovie("item""item"+kk);
        
        
    t._y 0;
        
    t._x 120*k;
        
    t.numero k+1;
        
    t.titolo _parent._parent.parsed[k].titolo;
        
    t.anno _parent._parent.parsed[k].anno;
        
    t.cliente _parent._parent.parsed[k].cliente;
        
    t.agenzia _parent._parent.parsed[k].agenzia;
        
    t.tecnica _parent._parent.parsed[k].tecnica;
        
    t.thumb =_parent._parent.parsed[k].thumb;
        
    t.pict _parent._parent.parsed[k].pict;
        
    t.anim _parent._parent.parsed[k].anim;
        


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.