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

    AS3 duplicare dei bottoni e conoscere il loro ID

    Ciao a tutti,
    è da diverso tempo che cerco una soluzione (anche dentro questo forum), ma ancora non sono riuscito atrovarla (completa).

    In actionscript 3, vorrei duplicare dei bottoni che chiamino una funzione passandogli il loro ID, in modo da fargli aprire,per esempio, delle pagine differenti.

    sono a metà dell'opera, riuscendo a duplicare il bottone che nella libreria ha il nome di concatenazione "Sprite", con il seguente codice:


    var mcs:Array = new Array();
    for (var i:int = 0; i < 10; i++) {
    var sp:Sprite = new Sprite();
    sp.x += 100 * i;
    sp.y = 100;
    addChild(sp);
    mcs.push(sp);
    mcs[i].addEventListener(MouseEvent.CLICK, clickBottone);
    }

    function clickBottone(event:MouseEvent):void {
    //qui vorrei chiamare una funzione passandogli l'ID del bottone che ho cliccato
    }


    per favore che qualcuno mi aiuti

    grazie

  2. #2
    non c'è qualcosa tipo

    event.target?

    credo che l'oggetto event, abbia già di suo un riferimento al bottone cliccato

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Un consiglio a margine, non usare Sprite come nome di classe per il clip in libreria, quello è il nome di una classe del core di flash, meglio lasciarla solo al sistema per evitare problemi.
    Invece riguardo al problema, considerato che i clip che clicchi sono estensioni di MovieClip, possono accettare delle variabili che tu stesso gli puoi direttamente passare.

    Se usi "MySprite" come nome, puoi modificare il tuo codice in questo modo:

    Codice PHP:
    var mcs:Array = [];
    for (var 
    i:uint=0i<10i++) {
        
    mcs.push(addChild(new MySprite()) as MySprite);
        
    mcs[i].+= 100 i;
        
    mcs[i].100;
        
    mcs[i].id i;
        
    mcs[i].addEventListener (MouseEvent.CLICKclickBottone);
    }
    function 
    clickBottone (evt:MouseEvent) {
        
    // qui richiami l'id del bottone che clicchi usando evt.target
        
    trace(evt.target.id);


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.