Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    Confronto tra due variabili per eseguire un'azione

    Ciao sto facendo una cosa molto semplice ma che non dà l'efetto voluto:
    carico la variabile-Simbolo- dinamicamente poi creo una variabile locale-verificacerchio-alla quale assegno un valore"cerchio".Creo una funzione di confronto (verifica) che confronta la variabile simbolo con verificacerchio quando queste due coincidono nella root principale un clip filmato imposta l'_alpha a 100. Ho fatto varie soluzioni di confronto ma la clip non cambia correttamente.Con questa funzione rimane sempre con _alpha a 100 sia che le var combacino che se differiscono
    posto:

    function verifica() {
    var verificacerchio = "cerchio";
    var simboloc = _root.mcdati.Simbolo;
    if (simboloc == verificacerchio) {
    return true;
    } else {
    return false;
    }
    }
    if (verifica=true) {
    _root.ovale._alpha = 100;
    }
    Dodo66

  2. #2
    c'è un po' di confusione ...

    1. la funzione che verifica deve essere richiamata solo quando la variabile esterna è stata completamente caricata in flash

    2. il confronto, ti conviene farlo all'interno della funzione stessa e non mettere un if esterno ad essa

    beta

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    risolto in parte

    Ho rifatto il caricamento come hai detto usando:

    System.useCodepage = true;
    dati = new LoadVars();
    dati.onLoad = function(success) {
    if (success) {
    Simbolo = dati.Simbolo;
    domanda = dati.domanda;
    rA = dati.rA;
    rB = dati.rB;
    rC = dati.rC;
    rD = dati.rD;
    rcorretta = dati.rcorretta;
    }
    };
    dati.load("domande/selezionecasualeflash.asp");

    tutto bene.Una volta caricate le variabili mettendo questo codice
    per impostare l'_alpha del clip "ovale" non funziona

    if (dati.Simbolo == "quadrato") {
    _root.ovale._alpha = 100;
    } else {
    _root.ovale._alpha = 0;
    }
    Questo codice l'ho messo nel fotogramma successivo al caricamento delle var.

    Altra cosa :devo distruggere le variabili una volta caricate devo svuotare l'oggetto loadvars per ricaricarle quando si fa aggiorna sul browser.Ho provato ad impostare il valore di una var prima del caricamento con loadvars così:

    _level0.domanda=""

    ma la var domanda non si svuota resta valorizzata mantenendo il contenuto del caricamento con loadvars fatto prima di schiacciare aggiorna sul browser.
    Che ne pensi grazie per l'aiuto
    Dodo66

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    ...correggo

    Ho risolto il problema del refresh delle variabili ed ho riscritto il tutto ..ma non riesco a modificare la proprietè alfa della clip ovale non capisco perchè???
    posto:

    System.useCodepage = true;
    dati = new LoadVars();
    System.useCodepage = true;
    dati = new LoadVars();
    dati.onLoad = function(success) {
    if (success) {
    _root.mc.Simbolo = dati.Simbolo;
    _root.mc.domanda = dati.domanda;
    _root.mc.rA = dati.rA;
    _root.mc.rB = dati.rB;
    _root.mc.rC = dati.rC;
    _root.mc.rD = dati.rD;
    _root.mc.rcorretta = dati.rcorretta;
    a = String(_root.mc.Simbolo);
    a = a.length;
    b = String("quadrato");
    b = b.length;
    if (a == b) {
    setProperty(_root.ovale, _alpha, 100);
    } else {
    setProperty(_root.ovale, _alpha, 0);
    }
    }
    };
    dati.load("domande/selezionecasualeflash.asp");
    dati.unload;

    Ho rilevato che nella visualizzazione la variabile Simbolo è="quadrato" ma associando Simbolo alla var locale a
    a.length non è uguale a 8 ma a 98???? non capisco perchè.Di conseguenza l'uguaglianza nella condizione if non può essere soddisfatta......
    ..toccherà fare un tuffo nel mare freddo per schiarire le idee...evitatemelo se potete
    Dodo66

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    ...correggo

    Ho risolto il problema del refresh delle variabili ed ho riscritto il tutto ..ma non riesco a modificare la proprietè alfa della clip ovale non capisco perchè???
    posto:

    System.useCodepage = true;
    dati = new LoadVars();
    dati.onLoad = function(success) {
    if (success) {
    _root.mc.Simbolo = dati.Simbolo;
    _root.mc.domanda = dati.domanda;
    _root.mc.rA = dati.rA;
    _root.mc.rB = dati.rB;
    _root.mc.rC = dati.rC;
    _root.mc.rD = dati.rD;
    _root.mc.rcorretta = dati.rcorretta;
    a = String(_root.mc.Simbolo);
    b = String("quadrato");
    if (a == b) {
    setProperty(_root.ovale, _alpha, 100);
    } else {
    setProperty(_root.ovale, _alpha, 0);
    }
    }
    };
    dati.load("domande/selezionecasualeflash.asp");
    dati.unload;
    Dodo66

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    Ho trovato la soluzione

    Grazie beta per la risposta ma ho risolto tutto posto code se dovesse servire a qualcuno

    System.useCodepage = true;
    dati = new LoadVars();
    dati.onLoad = function(success) {
    if (success) {
    _root.mc.Simbolo = dati.Simbolo;
    _root.mc.domanda = dati.domanda;
    _root.mc.rA = dati.rA;
    _root.mc.rB = dati.rB;
    _root.mc.rC = dati.rC;
    _root.mc.rD = dati.rD;
    _root.mc.rcorretta = dati.rcorretta;
    b = dati.Simbolo;
    if (b.length == 10) {
    setProperty(_root.quadrato, _alpha, 100);
    } else {
    setProperty(_root.ovale, _alpha, 100);
    }
    }
    };
    dati.load("domande/selezionecasualeflash.asp");
    dati.unload;

    Non capisco solo perchè valorizzando la var b con la stringa "quadrato"
    b.length risulta uguale a 10 e non ad otto???
    Così nella condizione ho dovuto mettere 10 e non otto per verificare la lunghezza di b.length.
    Se puoi illuminami
    Dodo66

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    lettura el contenuto var.text non funziona


    stop();
    _level0.mc.status.text = String("A");
    if (_level0.mc.status.text == _level0.mc.rCorretta.text) {
    this.punti.text = "1";
    }
    Con questa AS voglio assegnare "1" alla var this.punti la variabile rCorretta della clip mc viene caricata da un db con asp ed ha un valore "A"
    io assegno valore "A" alla variabile status da un altra clip poi confronto le due variabili che stranamente a video sono uguali ma nell'istruzione if non sembrano esserlo dato che this.punti non viene impostato ad ""

    la cosa strana è che a video le var sono uguali...non riesco ad uscirne....
    Dodo66

  8. #8
    ma se sono variabili perchè usi "text" ?

    beta

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    209

    grazie Beta ho risolto

    Uso var.text perchè uso le istanze delle variabili e ne leggo il contenuto con la proprietà text.
    Ho risolto confrontando le variabili in base alla presenza di un valore comune col metodo String.indexOf() dell'oggetto Stringa. Se il carattere viene trovato la variabile punti viene inpostata ad 1.

    La cosa strana è: se nel db ho la lettera A in un record e la faccio caricare da flash, stampando a video vedo A ma la sua lunghezza come stringa non è 1 ma 3.Infatti se confrontavo la mia var interna al codice y="A" con la var z =A(caricata dinamicamente dal db)
    y == a era false quindi in una condizione istruzione non funzionava.
    Col metodo String.indexOf() vedo solo se la "A" in tal caso eseguo l'istruzione.

    La mia domanda è:
    Oltre alla lettera A dal record cos'altro viene caricato?
    Quel di più tra l'altro a video non esiste
    Spero di essere riuscito a farmi capire...
    Dodo66

  10. #10
    sinceramente non capisco cosa possa essere successo e in cosa possa consistere la differenza tra 1 o 3 caratteri. Ad intuito, posso immaginare che ci sia qualche problema nella codifica dei dati che passi a flash ... via php costruisci un xml dinamico che prende dati da un database, giusto ?!

    forse c'è qualcosa lì ... comunque già mi sembra strano che usi la proprietà text per fare un confronto di variabili e che usi il metodo String.indexOf ... un semplice confronto sarebbe giustificato...

    beta

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.