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

    [MX 2004] Classe esterna e assegnazioni

    mi domando solo se secondo i piu' informati, una classe come questa, con la quale ho fatto alcuni esperimenti e che semra comportarsi bene, possa andare bene oppure e' concettualmente mal costruita.

    codice:
    class Elastic extends MovieClip {
    	var _acceleration:Number = 1.9;
    	var _force_move:Number = 1.5;
    	private var _x_movement:Number = 0;
    	private var _y_movement:Number = 0;
    	function Elastic() {
    		this.Elastic_play();
    	}
    	private function elastic_movement():Void {
    		this.onEnterFrame = function() {
    			this._x_movement = (this._x_movement + (_root._xmouse - this._x) / this._acceleration) / this._force_move;
    			this._y_movement = (this._y_movement + (_root._ymouse - this._y) / this._acceleration) / this._force_move;
    			this._x += this._x_movement;
    			this._y += this._y_movement;
    		}
    	}
    	function Elastic_play() {
    		this.elastic_movement();
    	}
    	function Elastic_stop() {
    		delete this.onEnterFrame;
    	}
    }
    si tratta sempre dell' elastic prototype riadattata a classe con 2 parametri pubblici per accelerazione e inerzia settabili con:


    nome_istanza_palla._acceleration = 1.5;
    nome_istanza_palla._force_move = 1.7;

    e 2 metodi per fermare o far ripartire l' effetto ... nome_istanza_palla.Elastic_play();

    e

    nome_istanza_palla.Elastic_stop();



    Grazie
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Magari potresti settare i valori di acceleration e _force_move alla creazione dell'istanza, come parametri della funzione di costruzione, e se debba partire o meno all'avvio..

  3. #3
    aspe' ... ho fatto prove ... come faccio a inizianizzarlo ?

    mi da sempre errore perche' quando metto AS2.0 class non devo scrivere solo il nome della classe ??

    o li posso inserire anche dei parametri ??? :master:
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    codice:
    class Elastic extends MovieClip {
    	function set acceleration(x:Number){
    		_acceleration = x;
    	}
    	function get acceleration(){
    		return _acceleration;
    	}
    	var _force_move:Number = 1.5;
    	var _acceleration:Number = 1.9;	
    	private var _x_movement:Number = 0;
    	private var _y_movement:Number = 0;
    	function Elastic() {
    		acceleration = 1.9
    	}
    	function onEnterFrame() {
    		_x_movement = (_x_movement+(_root._xmouse-_x)/acceleration)/_force_move;
    		_y_movement = (_y_movement+(_root._ymouse-_y)/acceleration)/_force_move;
    		_x += _x_movement;
    		_y += _y_movement;
    	}
    	function Elastic_stop() {
    		delete onEnterFrame;
    	}
    }
    IMHO così è meglio, nel senso che nella classe l'uso di "this" è obsoleto..

    cmq per applicarlo ad un mc, crei il movieclip, lo esporti per AS e gli dai il nome della classe AS2.0 "Elastic"
    a questo punto prova a mettere nel frame questo:

    codice:
    mc.acceleration = 30

  5. #5
    Originariamente inviato da flash_mx2

    IMHO così è meglio, nel senso che nella classe l'uso di "this" è obsoleto..

    cmq per applicarlo ad un mc, crei il movieclip, lo esporti per AS e gli dai il nome della classe AS2.0 "Elastic"
    a questo punto prova a mettere nel frame questo:

    codice:
    mc.acceleration = 30
    ok per il this, non sapevo ... ma io la mia l'ho gia' importata per AS2.0 con nome Elastic esattamente come hai detto tu e settavo le variabili con
    mc._acceleration = 1.7;

    cioe' ... non hai letto fino alla fine il mio primo post eh ???


    cmq ora gli do un' okkiata

    P.S. hai dichiarato 2 volte acceleration sia fuori che dentro il costrutto :master:






    [editato]
    IMHO <-- ... scbapbari ???
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    scusami, hai ragione.. non avevo letto fino in fondo

    P.S. hai dichiarato 2 volte acceleration sia fuori che dentro il costrutto
    è vero.. è una dimenticanza.. il secondo è inutile

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.