Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    problema form accesso AS3.-.

    salve a tutti ho dato uno sguardo in giro su diversi siti e anche qui su flash.html.it ma non ho trovato nulla di interessante per quanto riguarda la gestione degli accessi in AS3 in particolare ho creato un frame "index" che carica una pagina "accesso" tramite load e diciamo che nell'index ho una label con scritto inizialmente "not connected" nella parte accesso.as ho invece creato due textinput e 2 bottoni insomma funziona tutto bene compreso le javascript.. il mio problema e che vorrei che la pagina caricata "accesso.as" riesca a modificare la label all'interno della pagina caricante "index.as" cosa che non riesco a fare.. qualcuno può aiutarmi?

    inoltre vorrei sapere come si fa a gestire il timeout in flash per il quale l'user verrà disconnesso dal server non appena scade.. ho già inserito nel db user un boolean connected che viene modificato dalla jsp...

    riporto qui il codice di accesso.as:


    package {
    import fl.controls.*;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.*;
    import flash.net.*;

    public class accesso extends Sprite {
    private var user:TextInput;
    private var pwd:TextInput;
    private var loading:Label;
    private var submit:Button;
    private var cancel:Button;


    public function accesso() {
    var URLjsp:String="http://localhost:8080/Aziende/jsp/";
    var carattere:TextFormat = new TextFormat();
    carattere.font = "Myriad Pro";
    carattere.size=20;
    carattere.bold;
    carattere.color=0x000033;

    loading = new Label;
    loading.text="";
    loading.move(150,160);
    loading.setSize(150,20);

    user= new TextInput;
    user.setSize(150,25);
    user.move(150,100);
    user.setStyle("textFormat",carattere);

    pwd= new TextInput;
    pwd.setSize(150,25);
    pwd.move(150,130);
    pwd.displayAsPassword=true;
    pwd.setStyle("textFormat",carattere);

    submit = new Button;
    submit.move(150,180);
    submit.setSize(70,22);
    submit.label="Accedi";
    cancel = new Button;
    cancel.move(230,180);
    cancel.setSize(70,22);
    cancel.label="Annulla";

    submit.addEventListener(MouseEvent.CLICK,accedi);
    cancel.addEventListener(MouseEvent.CLICK,annulla);

    var variabili:URLLoader=new URLLoader;
    variabili.addEventListener(Event.COMPLETE,risposta );
    variabili.addEventListener(IOErrorEvent.IO_ERROR,e rrore);

    var request:URLRequest=new URLRequest();
    request.method=URLRequestMethod.POST;
    request.url=URLjsp+"accesso.jsp";

    function accedi() {

    var accesso:URLVariables = new URLVariables();
    accesso.username=user.text;
    accesso.pwd=pwd.text;
    request.data=accesso;
    //loading.text="inviati";
    variabili.load(request);
    }
    function annulla() {
    user.text="";
    pwd.text="";
    loading.text="Annullato";
    }
    function risposta(event:Event) {
    //loading.text="inizio risposta";
    var re:URLVariables=new URLVariables(variabili.data);
    var ac:String=re.ack;
    loading.text=ac;
    _root.stato.text=ac;

    }
    function errore(event:IOErrorEvent) {
    //trace("Errore di Caricamento Dati");
    loading.text="Errore di Caricamento Dati";
    }
    addChild(loading);
    addChild(user);
    addChild(pwd);
    addChild(submit);
    addChild(cancel);
    }
    }
    }

    spero che qualcuno riesca da aiutarmi.. GRAZIE anticipatamente
    Noise

  2. #2
    ve la faccio piu semplice perchè forse mi sono espresso male...

    [AS3]
    filmato A contiene una label
    filmato B contiene metodo per l'accesso al db utenti (funzionante)

    filmato A carica il filmato B

    come fa filmato B a modificare il valore della label di filmato A?

    spero di essermi espresso meglio...
    Noise

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ho capito in che rapporto sono tra di loro questi due filmati
    tu adesso intanto parli di due classi "index.as" e "accesso.as", che pare che debbano avere un rapporto di "sottomissione" della seconda sulla prima
    poi vorresti modificare qualcosa della prima classe dalla seconda
    correggimi le inesattezze

  4. #4
    esatto..

    accesso.as deve modificare una label che si trova in index.as ho provato ad esportarla in runtime sharing e reimportarla dall'altra classe ma non ho risolto nulla... forse ho sbagliato qualche procedura? inoltre ho provato anche include ma mi da un'errore del tipo impossibile innestare la classe...

    ti allego anche il codice di index.as la label da modificare è "stato"

    package {
    import fl.controls.*;
    import flash.display.Sprite;
    import flash.display.Loader;

    import flash.net.*;
    import flash.errors.*;
    import flash.events.*;
    import flash.events.*;
    import fl.events.ComponentEvent;
    import flash.text.*;
    //import stato;

    public class index extends Sprite {
    private var loading:Label;
    private var stato:Label;
    private var loader:Loader;
    private var accesso:Button;
    private var registrazione:Button;
    private var mappa:Button;
    private var categoria:Button;
    private var logout:Button;

    public function index() {
    loader= new Loader();
    var url:String = "start.swf";
    var request:URLRequest = new URLRequest(url);
    loader.load(request);

    stato=new Label;
    stato.move(180,3);

    stato.text="Not Connected";


    loading = new Label();
    loading.move(500,300);
    loading.setSize(150,200);

    accesso = new Button();
    accesso.move(500,100);
    accesso.label="Accesso";

    registrazione = new Button;
    registrazione.move(500,130);
    registrazione.label="Registrazione";

    mappa = new Button;
    mappa.move(500,160);
    mappa.label="Mappa";

    categoria= new Button;
    categoria.move(500,190);
    categoria.label="Categoria";

    logout=new Button;
    logout.move(500,220);
    logout.label="Logout";

    accesso.addEventListener(MouseEvent.CLICK,loadAcce sso);
    registrazione.addEventListener(MouseEvent.CLICK,lo adRegistrazione);
    mappa.addEventListener(MouseEvent.CLICK,loadMappa) ;
    categoria.addEventListener(MouseEvent.CLICK,loadCa tegoria);
    logout.addEventListener(MouseEvent.CLICK,logoutHan dler);

    addChild(registrazione);
    addChild(accesso);
    addChild(mappa);
    addChild(categoria);
    addChild(logout);
    addChild(stato);
    addChild(loading);
    addChild(loader);

    function loadAccesso() {
    request.url="accesso.swf";
    loader.load(request);
    }
    function loadRegistrazione() {
    request.url="register.swf";
    loader.load(request);
    }
    function loadMappa() {
    request.url="mappa.swf";
    loader.load(request);
    }
    function loadCategoria() {
    request.url="categorie.swf";
    loader.load(request);
    }
    function logoutHandler() {
    request.url="start.swf";
    loader.load(request);
    stato.text="User Logged Out";
    }
    }
    }
    }
    Noise

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    per utilizzare la classe accesso() dentro ad index() dovresti crearne un'istanza oppure pubblicarla dentro un swf a parte che poi carichi dentro il filmato principale attraverso la classe Loader

  6. #6
    se osservi bene il codice di index.as noterai che già è così

    ora voglio sapere se e come posso modificare il label stato da accesso.as...

    è così difficile da capire?
    Noise

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da alexnoise79
    se osservi bene il codice di index.as noterai che già è così

    ora voglio sapere se e come posso modificare il label stato da accesso.as...

    è così difficile da capire?




  8. #8
    Non ti sarai mica offeso? =( non era assolutissimamente mia intenzione...
    Noise

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.