Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [ AS2.0 ] Classi

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

    [ AS2.0 ] Classi

    Ciao a tutti ho creato una piccola classe.Mi sapreste dire come si in modo che bisogna dichierare solo con New Movimento(), senza istanziare in una variabile.
    Cioe quello che voglio è
    new New Movimento(clip_mc, 200, '_x', 5);
    e non :
    var mov:Movimento = new New Movimento(clip_mc, 200, '_x', 5);
    oppure fare in modo come con la classe Color,
    (new Color(mc)).setRGB(0x559966);
    codice:
    class Movimento
    {
    	private var _interval_ID:Number;
    	function Movimento(mc:MovieClip, pos:Number, prop:String, velocita:Number)
    	{
    		sposta(mc, pos, prop, velocita);
    	}
    	private function moving(mc:MovieClip, pos:Number, prop:String):Void
    	{
    		mc[prop] += (pos-mc[prop])/10;
    	}
    	private function sposta(mc:MovieClip, pos:Number, prop:String, velocita:Number):Void
    	{
    		_interval_ID = setInterval(this, 'moving', velocita, mc, pos, prop);
    	}
    }
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

  3. #3
    Non ho MX 2004 sotto mano, ma con AS 1 puoi comunque fare una cosa del genere:

    codice:
    _global.MyClass = function(mc){
    	trace(mc._name);	
    };
    
    _root.createEmptyMovieClip("test", 1);
    
    new MyClass(test);

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    in effetti la classe viene inizializzata.Metto il trace sia in sposta che in moving, solo che il trace di moving non mi visualizza piu. :master:

  5. #5
    Guarda, posso sempre solo farti un esempio con AS 1. Ho simulato quello che fai tu in AS 2 a grandi linee.

    codice:
    _global.MyClass = function(mc){
    	//trace(mc._name);
    	this.mc = mc;
    	this.customMethod2();
    };
    
    MyClass.prototype.customMethod = function(_target_){
    	trace(_target_.mc);	
    };
    
    MyClass.prototype.customMethod2 = function(){
    	this.intervalID = setInterval(this.customMethod, 1000, this);
    };
    
    _root.createEmptyMovieClip("test", 1);
    
    new MyClass(test);

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.