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
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
prova a vedere i risultati di queste ricerche
http://forum.html.it/forum/search.ph...by=&sortorder=
http://forum.html.it/forum/search.ph...by=&sortorder=
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 );
}
}
ma "sporco", cosa significa?! :master:
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
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...
mmm k...
vi dirò se trovo di meglio grazie cmq.. (nel forum ufficiale nulla cry)