Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Lampeggiamento di un mc

    Vorrei realizzare un lampeggiamento di un mc tramite as.
    In particolare vorrei quindi dare una percentuale di bianco al 50% all'interno mc come massimo "grado di lampeggiamento" e poi far oscillare questo valore tra 0 e 50, in modo fluido (mi sarò spiegato?... boh).
    I problemi sono due:
    1) non mi ricordo come si modifica il valore "tinta" tramite as e in particolare non so come si possa dare un colore di bianco al 50%;
    2) non sono sicuro di saper realizzare il lampeggiamento se non tramite un groviglio di "if" e cambio di variabili (del tipo i=1 vai a 50%; arrivato a 50% imposta i=2; se i=2 vai a 0%; arrivato a 0% imposta i=1... la morte).

    Per il secondo punto penso che si potrebbe risolvere utilizzando la funzione periodica generata da sin o cos, ma non so esattamente come.

    Per il primo punto dipendo totalmente da voi ^_^

  2. #2
    Per fare effetti come quelli ottenibili con la "tinta" penso tu debba usare il setTransform (vedi sotto ).
    Invece per il secondo punto potresti usare un enterFrame e dei random


    Color.setTransform()
    Disponibilità
    Flash Player 5.

    Uso
    my_color.setTransform(colorTransformObject)

    Parametri
    colorTransformObject Un oggetto creato con la funzione di creazione new Object. Questa istanza di Object (classe) deve disporre delle seguenti proprietà che consentono di specificare i valori di trasformazione colore: ra, rb, ga, gb, ba, bb, aa, ab. Tali proprietà vengono descritte di seguito.

    Valori restituiti
    Nessuno.

    Descrizione
    Metodo: imposta la trasformazione dei colori per un oggetto Color. Il parametro colorTransformObject si riferisce a un oggetto generico creato mediante la funzione di creazione new Object. Dispone di parametri che specificano la percentuale e i valori di offset dei componenti rosso, verde, blu e alpha (trasparenza) di un colore, immessa nel formato 0xRRGGBBAA.

    I parametri per un oggetto di trasformazione del colore corrispondono alle impostazioni visualizzate nella finestra di dialogo Effetto avanzato e sono definite come indicato di seguito:

    ra è la percentuale del componente rosso (da -100 a 100).
    rb è l'offset del componente rosso (da -255 a 255).
    ga è la percentuale del componente verde (da -100 a 100).
    gb è l'offset del componente verde (da -255 a 255).
    ba è la percentuale del componente blu (da -100 a 100).
    bb è l'offset del componente blu (da -255 a 255).
    aa è la percentuale di alfa (da -100 a 100).
    ab è l'offset di alfa (da -255 a 255).
    Per creare un parametro colorTransformObject, attenersi alla procedura indicata di seguito:

    myColorTransform = new Object();
    myColorTransform.ra = 50;
    myColorTransform.rb = 244;
    myColorTransform.ga = 40;
    myColorTransform.gb = 112;
    myColorTransform.ba = 12;
    myColorTransform.bb = 90;
    myColorTransform.aa = 40;
    myColorTransform.ab = 70;

    È inoltre possibile usare la seguente sintassi per creare un parametro colorTransformObject:

    myColorTransform = { ra: ‘50', rb: ‘244', ga: ‘40', gb: ‘112', ba: ‘12', bb: ‘90', aa: ‘40', ab: ‘70'}

    Esempio
    Nell'esempio seguente, viene creato un nuovo oggetto Color per un file SWF di destinazione e un oggetto generico, chiamato myColorTransform, avente le proprietà definite in precedenza. Si utilizza il metodo setTransform() per passare colorTransformObject a un oggetto Color. Per utilizzare questo codice in un documento Flash (FLA), posizionarlo sul fotogramma 1 della linea temporale principale e posizionare il clip filmato sullo stage con il nome istanza my_mc, come riportato nel codice seguente:

    // Crea un oggetto Color denominato my_color per my_mc target
    my_color = new Color(my_mc);
    // Crea un oggetto di trasformazione del colore chiamato myColorTransform usando
    // l'oggetto Object generico
    myColorTransform = new Object();
    // Imposta i valori per myColorTransform
    myColorTransform = { ra: ‘50', rb: ‘244', ga: ‘40', gb: ‘112', ba: ‘12', bb: ‘90', aa: ‘40', ab: ‘70'};
    // Associa l'oggetto di trasformazione del colore all'oggetto Color
    // creato per my_mc
    my_color.setTransform(myColorTransform);

  3. #3
    Grazie. E' una buona idea ma non sono sicuro che il random faccia a caso mio. Proverò e vi farò sapere.

    PS: che belli i tuoi siti di esaltazione della pura razza nei cani, di addestramento e allevamento..............

  4. #4
    Originariamente inviato da Edward Becket
    Grazie. E' una buona idea ma non sono sicuro che il random faccia a caso mio. Proverò e vi farò sapere.

    PS: che belli i tuoi siti di esaltazione della pura razza nei cani, di addestramento e allevamento..............
    Beh se vuoi fare una cosa che vada da 0 a 50 senza nessun "limite" il random va bene, se invece vuoi un maggior controllo servirà come dicevi qualche if, però imho con un random otterresti comunque un effetto meno "ripetitivo"

    Ps: Prego ? A parte che se hai visto delle "esaltazioni di pura razza" mi sa che hai letto ben poco, chiariscimi questa tua frase in pvt magari, così non andiamo off topic

  5. #5
    Uhm... non riesco... sto provando semplicemente a far variare una variabile ("num") da 0 a 50 utilizzando il seno, così:

    onClipEvent(enterFrame){
    _root.num = 50*Math.sin (a);
    a += 1;
    }

    Ma non capisco se effettivamente funzioni perchè il testo che ho associato alla variabile e che mi mostra il valore scorre troppo velocemente (ihihi) e comunque dovrei imporre il valore assoluto (intendo mettere in modulo il tutto) per ottenere sempre valori positivi... non so come.

  6. #6
    Il valore assoluto lo ottieni con Math.abs()
    Per controllare se funziona e cambiano bene i valori, usa il trace invece che un campo di testo, almeno anche se va veloce te ne rimane traccia

    onClipEvent(enterFrame){
    _root.num = 50*Math.sin (a);
    a += 1;
    trace(a)
    }

    Se poi mi spieghi in pvt il significato di quella tua frase di prima mi fai un favore

  7. #7
    Forse non è un metodo adatto a quel che voglio fare, cmq per il seno mi restituisce questi valori...
    0
    0.841470984807897
    0.909297426825682
    0.141120008059867
    0.756802495307928
    0.958924274663138
    0.279415498198926
    0.656986598718789
    0.989358246623382
    0.412118485241757
    0.54402111088937
    0.999990206550703
    etc.etc.

    Come posso ottenere dei valori periodici, oscillanti e deceleranti verso i massimi e i minimi come il valore x o y di una sinusoide se non con un coseno o un seno?

  8. #8
    Mi spiace ma su quello non saprei aiutarti, di solito i lampeggiamenti dei movieclip li ho fatti molto casuali con dei semplici random e enterFrame, non ho mai voluto dargli una certa periodicità , per dire io ho mc se voglio farlo lampeggiare con valori tra 0 e 50 gli do un _alpha random tra 0 e 50

    Di solito su questi argomenti è molto ferrato Marcellus Wallace, però non si vede moltissimo sul forum e magari ora è in vacanza, però potresti provare a mandargli un pvt indicandogli il thread

  9. #9
    Marcellus Wallace... caspita che nome altisonante. Proverò, grazie.
    Cmq non credo sia l'unico in gradi di aiutarmi... qualcun'altro?

  10. #10

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.