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

    Primi passi in AS3: Problema STAGE CLASS

    Ciao a tutti, volevo iniziare a passare da AS 2 ad AS 3 con questo piccolo lavoro. Non ho mai fatto grandi cose in ActionScript giusto dei sitarelli abbastanza semplici ma neanche troppo banali.
    Stavo iniziando un lavoro. Ho creato il mio FLA e il mio file Content.as con il seguente codice:

    package
    {
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import fl.transitions.*;
    import fl.transitions.easing.*;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;

    public class Content extends MovieClip
    {
    //qui dichiaro tutte le variabili

    public function Content()
    {
    stage.scaleMode=StageScaleMode.NO_SCALE;
    stage.align=StageAlign.TOP_LEFT;
    init();
    }

    private function init():void
    {
    stage.addEventListener(Event.RESIZE,onResizeStage) ;
    /*startMove();*/
    }

    private function onResizeStage(e:Event):void
    {
    barDown_mc.x=0;
    barDown_mc.y=stage.stageHeight;
    barDown_mc.width=stage.stageWidth;
    barTop_mc.x=0;
    barTop_mc.y=0;
    barTop_mc.width=stage.stageWidth;
    bg_mc.x=stage.stageWidth/2;
    bg_mc.y=stage.stageHeight/2;
    bg_mc.width=stage.stageWidth;
    bg_mc.height=stage.stageHeight;
    }
    }
    }

    Il primo problema? Bhe non mi ridimensiona le barre e lo sfondo...

    Volevo sapere se ho dimenticato qualcosa oppure ho posizionato nel punto spagliato i parametri STAGE. Premetto che i CLIP sono già presenti nello stage, giusto per iniziare quindi nessuna ATTACH dalla libreria.

    Sapete dirmi perchè non funziona?

    Il bello è che se invece il codice lo metto (ovviamente senza il package) in un fotogramma della timeline FUNZIONA.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se c'è qualcosa che non va nel codice messo nella classe esterna (che immagino utilizzi come "document class"), dovresti ottenere degli errori in fase di compilazione, invece a te fila liscio ma senza che vengano compiute azioni?

  3. #3
    bravissimo esatto.

    Uso la document CLASS perchè in una prima lezione di base che avevo fatto mi era stato consigliato così ed in effetti lotrovo comodo.

    Hai ragione anche sul fatto che... Non mi da nessun errore di OUTPUT o di COMPILAZIONE. Fila tutto liscio ma nella visualizzazione non vedo la barra sopra, la barra sotto e lo sfondo prendere le dimensioni che gli ho assegnato.



    Cosa pensi possa essere?

    MICK

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da djcaipiroska
    bravissimo esatto.

    Uso la document CLASS perchè in una prima lezione di base che avevo fatto mi era stato consigliato così ed in effetti lotrovo comodo.

    Hai ragione anche sul fatto che... Non mi da nessun errore di OUTPUT o di COMPILAZIONE. Fila tutto liscio ma nella visualizzazione non vedo la barra sopra, la barra sotto e lo sfondo prendere le dimensioni che gli ho assegnato.



    Cosa pensi possa essere?

    MICK
    Sono d'accordo, l'uso della document class è un buon modo per sfruttare il linguaggio su flash.
    Ma a volte è necessario prendere degli accorgimenti perchè tutto funzioni correttamente.
    Io quando la utilizzo inserisco sempre la verifica dell'inserimento sullo stage aggiungendo nel costruttore l'evento Event.ADDED_TO_STAGE

    Codice PHP:
    // esempio
    package {
        
    import flash.display.MovieClip;
        
    import flash.events.Event;
        public class 
    DocClass extends MovieClip {
            public function 
    DocClass () {
                
    addEventListener(Event.ADDED_TO_STAGE__added__);
            }
            private function 
    __added__ (e:Event) {
                
    // tutte le azioni
            
    }
        }

    Comunque sto pensando che non sia il tuo caso, infatti non vedo la funzione richiamata "a vuoto" da nessuna parte (poi ti spiego come funziona), dovresti provare a fare il resize del filmato e vedere se le azioni vengono eseguite o ti viene generato un errore.

  5. #5
    Consa intendi con FARE IL RESIZE DEL FILMATO?...

    l'ho addirittura messo in una pagina html (con presenti gli ultimi script che inserisce Dreamweaver all'aggiunta di un SWF). Ma addirittura vedo tutta la pagina. Non vedo neanche lo sfondo.

    Ufffff....

    mick

    ps: comunque grazie per il tempo che mi dedichi.

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Devi provare a ridimensionare la pagina, sennò l'evento Event.RESIZE cosa ce l'hai messo a fare?

  7. #7
    bhe ma mi pare di averlo già fatto. l'ho messo dentro la pagina al 100%. Ho sempre fatto così di solito.

    Ora ho provato a screcciare un pò sia l'swf che la pagina ma nulla.

    Intendi questo?

    mick

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    No, intendo proprio ingrandire o diminuire la finestra del browser dalle maniglie, il RESIZE si attiva solo in quel caso. Non riesco a spiegarmi potresti mettere il risultato online?

  9. #9
    No and... ho capito infatti ho fatto quello ma non funziona lo stesso.

    Comunque l'ho caricato qui...

    http://www.mcataneo.com/metrostation_e-card2.html

    MICK

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ok, è come immaginavo. Così non potrà mai funzionare perchè l'swf dentro la pagina ha dimensioni fisse e non al 100% come dicevi. Comunque per risolvere dovrebbe bastarti aggiungere questa riga di codice subito dopo il richiamo alla funzione "init()" nel costruttore:

    onResizeStage(null);

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.