Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Sandy ase esterno

  1. #1

    Sandy ase esterno

    Scusate, ho girato in lungo e in largo ma non riesco a capire come di carica esternamente un file ase per sandy o wrl
    qualcuno può postare qualche listato di esempio?
    grazie

  2. #2

  3. #3
    mmm riesco solo a far funzionare un listato sporco cambiando i nomi di ase con il mio....
    ma uno pulito noooo mi sere un litato pulito per vedere come se lo carica e basta...
    chi mi può scrivere un listato base con il solo oggetto ase?
    ci provo ma non mi fa vedere nulla...
    questo qui sotto è l'esempio che da il sito sandy sporco.....


    import sandy.core.data.Vector;
    import sandy.core.group.*;
    import sandy.view.*;
    import sandy.core.*;
    import sandy.skin.*;
    import sandy.util.Ease;
    import sandy.core.transform.*;
    import sandy.events.*;
    import sandy.util.AseParser;

    import flash.display.BitmapData;

    /**
    * @mtasc -main AseTest -swf AseTest.swf -header 300:300:20:FFFFFF -version 8 -wimp
    */
    class AseTest
    {
    private var _mc : MovieClip;
    private var _fps:Number;
    private var _t:Number;
    private var _t2:Number;
    private var _c:Object3D;
    private var _i:Object3D;
    private var _l:Object3D;
    private var _yo:Object3D;
    private var _punto:Object3D;

    public function AseTest( mc:MovieClip )
    {
    _mc = mc;
    _mc.createTextField('fps', 10000, 0, 20, 50, 20 );
    World3D.getInstance().addEventListener( World3D.onRenderEVENT, this, __refreshFps );
    _t = _t2 = getTimer();
    _fps = 0;
    _c = new Object3D();
    _i = new Object3D();
    _l = new Object3D();
    _yo = new Object3D();
    _punto = new Object3D();

    AseParser.addEventListener( AseParser.onInitEVENT, this, __onObjectInitialized );
    AseParser.addEventListener( AseParser.onFailEVENT, this, __onObjectFailed );
    AseParser.parse( _c, 'c.ASE' );
    AseParser.parse( _i, 'i.ASE' );
    AseParser.parse( _l, 'l.ASE' );
    AseParser.parse( _yo, 'y.ASE' );
    AseParser.parse( _punto, 'punto.ASE' );

    //AseParser.export( 'gun.ase' );
    //__start();
    }

    private function __onObjectInitialized( e ):Void
    {
    trace('Objet initializé');
    __start();
    }

    private function __onObjectFailed( e ):Void
    {
    trace('Probleme de chargement');
    }

    private function __refreshFps ( e ):Void
    {
    if( getTimer() > _t + 1000 )
    {
    _mc.fps.text = _fps+' ips';
    _fps = 0;
    _t = getTimer();
    }
    else _fps++;
    }

    public static function main( mc:MovieClip ) : Void
    {
    if( !mc ) mc = _root;
    var c:AseTest = new AseTest( mc );
    }

    private function __start ( Void ):Void
    {
    var w:World3D = World3D.getInstance();
    w.setRootGroup( __createScene() );
    __createCams();
    w.render();
    }

    private function __createCams ( Void ):Void
    {
    var mc:MovieClip;var cam:Camera3D;var screen:ClipScreen;
    mc = _mc.createEmptyMovieClip( 'screen', 1 );
    screen = new ClipScreen( mc, 300, 300 );
    cam = new Camera3D( 700, screen );
    World3D.getInstance().addCamera( cam );
    }

    private function __createScene ( Void ):Group
    {
    var bg:Group = new Group();
    // -- interpolator
    var myEase:Ease = new Ease();
    //
    var tgRotation:TransformGroup;
    var tgTranslation:TransformGroup;
    tgRotation = new TransformGroup();
    tgTranslation = new TransformGroup();
    //
    var translation:Transform3D = new Transform3D();
    translation.translate( 0, 0, 300 );
    tgTranslation.setTransform( translation );
    //
    var rotint:RotationInterpolator = new RotationInterpolator( myEase.create(), 500 );
    // -- listener
    rotint.addEventListener( BasicInterpolator.onEndEVENT, this, __yoyo );
    rotint.addEventListener( BasicInterpolator.onProgressEVENT, this, __playMouse );

    //var skin:Skin;
    //skin = new TextureSkin( BitmapData.loadBitmap( 'texture' ) );
    //o.setSkin( skin );
    //
    tgRotation.setTransform( rotint );
    bg.addChild( Object3D(_c) );
    bg.addChild( Object3D(_i) );
    bg.addChild( Object3D(_l) );
    bg.addChild( Object3D(_yo) );
    bg.addChild( Object3D(_punto) );
    tgTranslation.addChild( tgRotation );
    bg.addChild( tgTranslation );
    //
    return bg;
    }

    private function __yoyo( e:InterpolationEvent ):Void
    {
    e.getTarget().redo();
    }

    private function __playMouse( e:InterpolationEvent ):Void
    {
    var difX:Number = 150 - _mc._xmouse;
    var difY:Number = 150 - _mc._ymouse;
    var dist:Number = Math.sqrt( difX*difX + difY*difY );
    RotationInterpolator(e.getTarget()).setAxisOfRotat ion( new Vector( -difY, difX, 0 ) );
    RotationInterpolator(e.getTarget()).setDuration( 10000 / dist );
    }
    }

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ma "sporco", cosa significa?! :master:

  5. #5
    se vedi ha la funzione di interpolazione con il mouse
    e il fps che scrive in alto...
    creando gruppi di trasformazioni che mi complicano le idee ed eliminandoli... non mi fun ge + nulla
    in + non capisco la differenza fra un private e semplice variabile

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    quell'esempio è stato realizzato per MTASC, un compilatore swf free utilizzabile anche su Linux, che sfrutta la sintassi delle classi per compilare gli swf creati esclusivamente tramite actionscript

    per la sintassi utilizzata ti rimando alla guida di interna di Flash (F1) in cui troverai un documento che ti indica in quale modo si scrivono le classi e capirai di conseguenza cosa sono public, private ecc...

    io non posso comunque darti un codice più pulito per il solo uso degli .ase, perchè non ho ancora approfondito Sandy e non saprei da dove cominciare

    in ogni caso se non sbaglio, Sandy ha una reference in inglese in cui trovi i comandi principali, probabilmente anche quella ti può aiutare a trovare un codice "pulito" da testare

    intanto che aspettiamo che qualcuno che già ha utilizzato Sandy+ASE risponda...

  7. #7
    mmm k...
    vi dirò se trovo di meglio grazie cmq.. (nel forum ufficiale nulla cry)

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.