Visualizzazione dei risultati da 1 a 7 su 7

Discussione: actionscript da 5 a mx

  1. #1
    Utente di HTML.it L'avatar di licio
    Registrato dal
    Sep 2002
    Messaggi
    170

    actionscript da 5 a mx

    ho un mio filmato in flash 5 in cui ho:

    nel primo frame :

    Movieclip.prototype.elasticScale = function(target, accel, convert) {
    xScale = xScale*accel+(target-this._xscale)*convert;
    yScale = yScale*accel+(target-this._yscale)*convert;
    this._xscale += xScale;
    this._yscale += yScale;
    };

    e legato ad un movieclip:

    onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
    elasticScale(112, 0.9, 0.4);
    } else {
    elasticScale(100, 0.9, 0.2);
    }
    }

    funziona tutto (è un effettino elastico...)

    nel momento in cui però esporto il filmato in flash mx lo script non mi funge più.
    Ho qualche comando obsoleto che mx non interpreta più?

    Grazie

  2. #2
    A me funziona, l'unica cosa utilizza magari un altro nome per il parametro target dato che è una parola riservata e potrebbe causare problemi.

    Ciao

  3. #3
    Anche a me funziona bene sia in F5 che MX, l'unica cosa che non mi è chiara

    ho un mio filmato in flash 5 ......nel momento in cui però esporto il filmato in flash mx lo script non mi funge più ???

    Da Flash 5 esporti in MX ?? Ciao

  4. #4
    Utente di HTML.it L'avatar di licio
    Registrato dal
    Sep 2002
    Messaggi
    170
    con un solo movieclip sullo stage funziona, ma se ne mettiamo due o più con il medesimo script incorporato succedono cose strane, tipo che l'effetto elastico si applica a tutti i movieclip e non solo quello a cui passo sopra.

    non è che con flash 5 esporto in flash mx. Questo era un vecchio script che avevo quando avevo flash 5. Ora (da un po' in realtà) ho l'mx e se lo apro poi me lo esporta in 5.

  5. #5
    Secondo me il problema risiede nel fatto che sulla _root. utilizzi this

    dai un nome differente di istanza ai clip e modifica così

    Movieclip.prototype.elasticScale = function(target, accel, convert, varname) {
    xScale = xScale*accel+(target-this._xscale)*convert;
    yScale = yScale*accel+(target-this._yscale)*convert;
    _root[varname]._xscale += xScale;
    _root[varname]._yscale += yScale;
    };

    sul clip

    onClipEvent (mouseMove) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
    sopra=true; azione=true
    } else {
    sopra=false
    }
    onClipEvent (enterFrame) {
    if (this.sopra) {
    if (azione){
    this.varname=_name
    elasticScale(112, 0.9, 0.4, varname);
    } else {
    elasticScale(100, 0.9, 0.2, varname);
    }
    }else{azione=false}
    }

    dovresti riuscire con più clip

    prova ciao
    rempox

  6. #6
    NO ! l'effetto si smorza al 2° passaggio non va la modifica che ti ho suggerito.

    Sorry

  7. #7
    senti lo sai che cosa ho provato, ovviamente non conosco la complessità dei tuoi clip, ma...

    Ho disegnato un rettangolo e l'ho trasformato in clip "symbol1"

    Ho aperto questo clip e con F6 sulla 2° frame l'ho duplicato e trasformato il clip "Symbol2"

    Al clip Simbol2 dentro Symbol1 ho associato
    il tuo
    onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
    elasticScale(112, 0.9, 0.4);
    } else {
    elasticScale(100, 0.9, 0.2);
    }
    }

    ed al clip principale Symbol1 ho associato

    onClipEvent (load) {
    stop()
    }
    onClipEvent (mouseMove) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
    this.nextFrame()
    } else {
    this.prevFrame()
    }
    }

    così funziona anche per più clip identici...apprezza lo sforzo fatto con piacere anche se forse la soluzione ottimale deve ancora venire.

    Notte

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.