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

    [AS3] dalle azioni sul frame alla document class

    Ciao
    ho appena in iniziato con as3 e nonostante mi sia letto un pò di cose sto già impazzendo
    ma non è tanto as3 il problema, quanto la programmazione ad oggetti e la scrittura delle classi

    in as2 ero abituato a scrivere tutto sul primo fotogramma o ad importare un .as esterno in un frame (che era poi l'equivalente).

    ora con as3 sorgono molte difficoltà perchè non riesco a capire alcuni principi base

    ho realizzato uno script dove cliccando su tre pusanti/icone, faccio saltare la riproduzione di un video .flv a tre rispettivi cue point

    tutto ok con lo script sul frame...

    codice:
    import caurina.transitions.Tweener;
    
    
    
    //è selezionata la prima icona
    Tweener.addTween(inizio_mc, {alpha:0.7, time:0});
    
    videoProva.fullScreenTakeOver = false;
    
    
    inizio_mc.addEventListener(MouseEvent.CLICK, fl_ClickToSeekToCuePoint);
    secondo_mc.addEventListener(MouseEvent.CLICK, fl_ClickToSeekToCuePoint);
    terzo_mc.addEventListener(MouseEvent.CLICK, fl_ClickToSeekToCuePoint);
    
    function fl_ClickToSeekToCuePoint(event:MouseEvent):void
    {
    	trace(event.currentTarget.name);
    
    	var cuePointInstance:Object;
    
    	if (event.currentTarget.name == "inizio_mc")
    	{
    		cuePointInstance = videoProva.findCuePoint("start");
    	}
    	else if (event.currentTarget.name =="secondo_mc")
    	{
    		cuePointInstance = videoProva.findCuePoint("inpiedi");
    	}
    	else if (event.currentTarget.name=="terzo_mc")
    	{
    		cuePointInstance = videoProva.findCuePoint("finale");
    	}
    	videoProva.seek(cuePointInstance.time);
    }
    
    
    inizio_mc.addEventListener(MouseEvent.MOUSE_OUT, slideMouseOut);
    inizio_mc.addEventListener(MouseEvent.MOUSE_OVER, slideMouseOver);
    
    
    function slideMouseOut(event:MouseEvent):void
    {
    	Tweener.addTween(inizio_mc, {alpha:0.7, time:0});
    }
    function slideMouseOver(event:MouseEvent):void
    {
    	Tweener.addTween(inizio_mc, {alpha:1, time:0});
    }

    Ma quali solo i passaggi per trasformare tutto in document class?
    ho linkato la classe, ho creato il file esterno con lo stesso nome della classe, ho creato il costruttore...

    codice:
    package 
    {
    
    	import caurina.transitions.Tweener;
    
    	import flash.display.MovieClip;
    import flash.display.Stage;
    
       
    
        import flash.events.Event;
        import flash.events.MouseEvent;
        import flash.events.FullScreenEvent;
    
    	public class main
    	{
    
    		public function main()
    		{
    			// constructor code
    
    			
    		}
    
    	}
    
    }
    innazitutto son già in difficoltà nel capire quali classi di flash devo importare all'inizio...
    e poi non riesco a capire come va modificato il mio script perchè funzioni scritto dentro alla classe.

    non so se si riesce a spiegare facilmente quello che vorrei sapere, ma se riuscissi a capire queste basi credo che poi gran parte dei problemi sarebbero risolti.

    grazie cmq in anticipo a tutti
    mondini multimedia blog - grafica, web design, 3d

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Codice PHP:
    package {

        
    import caurina.transitions.Tweener;
            
    import flash.display.*;
        
    import flash.events.*;

        public class 
    Main extends MovieClip {

            public function 
    Main() {

                    private var 
    pippo:MovieClip;

                private function 
    fl_ClickToSeekToCuePoint(event:MouseEvent):void{

                        
    trace(event.currentTarget.name);
                            var 
    cuePointInstance:Object;

            }
        }

    Per gli import puoi risolvere mettendo l'asterisco alla fine e importi in un'unica riga tutte le classi di quel pacchetto.
    Per vedere quali classi sono incluse nel pacchetto c'è la guida di riferimento in linea.
    Selezioni nel codice il nome della classe principale e premi F1 e ti apre la guida su quella specifica classe o parola chiave.

    Poi c'è la dichiarazione della classe stessa (scritta preferibilmente in maiuscolo) che per quel che ne sò meglio che sia un'estensione di una classe esistente in modo che la tua classe erediti proprietà e metodi di quella classe base.

    Segue il costruttore della classe con il tipo di funzione (public, private o static).
    Poi ci sono le variabili usate nel codice se devono essere globali (visibili in tutta la classe) di tipo private se devono essere viste solo all'interno della classe e di tipo public se devono essere viste anche da file esterni.

    Ovviamente quanto ho scritto sopra è come ho imparato io a scrivere una classe esterna in .as. Non metto in dubbio che ci possano essere altri modi più corretti che non conosco.
    Comunque considerando queste semplici regole, tutto funziona correttamente.

    ciao

    P.S.: Dimenticavo, nota importante ma probabilmente lo sai: Il nome del file deve essere lo stesso nome della classe (nell'esempio: Main.as)

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.