Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    26

    è possibile lanciare una funzione quando campbia lo stato di una var?

    salve a tutti,

    come da titolo ho una var globale che gestisco da due file js diversi.
    se mi trovo nel secondo file e si verificano delle condizioni e lo stato della variabile globale cambia come faccio ad "avvisare" il primo file dell'avvenuto cambiamendo?

    grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Dato per accertato che non esiste alcun evento scatenato dal cambiamento di una variabile, cio' che mi sfugge e' il concetto "il primo file" ... :master: se devi eseguire una funzione quando modifichi la variabile puoi semplicemente richiamarla... come la funzione sia stata caricata nella pagina corrente e' ininfluente.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    26
    Sto facendo un progetto per l' uni. Devo fare un gioco simile a forza 4 e lo sto organizzando ad oggetti.

    1) classe GameBoard
    2) classe MovementManager

    inizialmente c'è una tabella 8x8 quando clicco sopra una cella parte una funzione che posiziona la pedina al posto giusto(file GameBoard).
    Dopodiché chiamo una funzione che mi verifica se ha vinto qualcuno(file MovementManager) L'oggetto MovementManager si trova come istanza in GameBoard. Se ha vinto qualcuno vorrei notificare la classe GameBoard che esegue la notica "giallo vince" e successivamente clearBoard.
    vi posto un pò di codice js:
    Codice PHP:
    this.youWin = function(boardidcolor){
            var 
    connectFour 0;
            if(
    board[id].horizontal){
                var 
    start board[id].horizontal[0];
                var 
    end board[id].horizontal[1];
                var 
    nextStep board[id].horizontal[2];
                for(
    starti<=end+= nextStep){
                    if(
    board[i].pawn){
                        if(
    board[i].pawn.color == color)
                            
    connectFour++;
                        else
                            
    connectFour 0;
                    }
                }
                if(
    connectFour >= 4){
                    
    connectFour 0;
                    
    gameBoard.notifySomeoneWins(color);
                }
                else
                    
    connectFour 0;
            } 
    come potete notare se ha vinto qualcuno richiamo "gameBoard.notifySomeoneWins(color);" (da MovementManager passo a GameManager e poi indietro in MovementManager ed, infine, GameBoard) e io vorrei evitare questo!
    L'idea sarebbe:
    Ha vinto qualcuno setto una variabile a true ed esco dalla funzione, poi qualcosa che si scatena quando cambia tale var e mi richima la routin di notifica "giallo vince" e clearBoard, ad esempio.

    GameBoard la istanzio nel file HTML.
    In linea di massima i passi sono questi:

    (html) click su una cella -> (html) gameBoard.setPawn(idCella) -> (GameBoard)this.movementManeger.spostaPedinaAlPost oGiusto -> (MovementManager) this.haVintoQualcuno -> ... continua sopra.

    Non so se ho reso l'idea?

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.