TROVATO IL FILE ... in giro per la rete ...
però ho comunque un problema!!!!!!
ad esempio ... questo è il codice:
e l'ho confrontato con il file d'esempio!! E' tutto corretto ..codice:package { import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; import flash.media.Camera; import flash.media.Video; import flash.utils.ByteArray; import org.libspark.flartoolkit.core.FLARCode; import org.libspark.flartoolkit.core.param.FLARParam; import org.libspark.flartoolkit.core.raster.rgb.FLARRgbRaster_BitmapData; import org.libspark.flartoolkit.core.transmat.FLARTransMatResult; import org.libspark.flartoolkit.detector.FLARSingleMarkerDetector; import org.libspark.flartoolkit.pv3d.FLARBaseNode; import org.libspark.flartoolkit.pv3d.FLARCamera3D; import org.papervision3d.lights.PointLight3D; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; public class esempio_flar extends Sprite { // Importa il pattern [Embed(source="patternHTML.pat", mimeType="application/octet-stream")] private var pattern:Class; // Importa i parametri [Embed(source="camera_para.dat", mimeType="application/octet-stream")] private var params:Class; // Variabili per la creazione della visualizzazione della webcam private var vid:Video; private var cam:Camera; private var bmd:BitmapData; // Variabili relative a papervision e FLAR private var fparams:FLARParam; private var mpattern:FLARCode; private var raster:FLARRgbRaster_BitmapData; private var detector:FLARSingleMarkerDetector; private var scene:Scene3D; private var camera:FLARCamera3D; private var container:FLARBaseNode; private var vp:Viewport3D; private var bre:BasicRenderEngine; private var trans:FLARTransMatResult; public function esempio_flar() { } } public function Esempio_flar() { setupFLARToolkit(); setupWebcam(); setupPattern(); setupPapervision(); addEventListener(Event.ENTER_FRAME, renderizza); } private function setupFLARToolkit():void { fparams = new FLARParam(); // creiamo un nuovo oggetto FLARParam fparams.loadARParam(new params() as ByteArray); // carichiamo i parametri della webcam come ByteArray mpattern = new FLARCode(16, 16); // creiamo un nuovo oggetto FLARCode mpattern.loadARPatt(new pattern()); // carichiamo il pattern } private function setupWebcam():void { vid = new Video(640, 480); cam = Camera.getCamera(); cam.setMode(640, 480, 30); vid.attachCamera(cam); addChild(vid); } private function setupPattern():void { bmd = new BitmapData(640, 480); // creiamo un oggetto BitmapData con le stesse dimensioni del flusso della webcam (640x480) bmd.draw(vid); // disegnamo nell'oggetto bmd l'attuale frame del flusso video raster = new FLARRgbRaster_BitmapData(bmd); // creiamo un oggetto FLARRgbRaster_BitmapData passandogli il fotogramma catturato detector = new FLARSingleMarkerDetector(fparams, mpattern, 80); // creiamo un nuovo detector passandogli i parametri della webcam e il pattern da rilevare e la larghezza del marker (80 mm) } private function setupPapervision():void { scene = new Scene3D(); // creiamo un anuova scena di Papervision camera = new FLARCamera3D(fparams); // creiamo una nuova camera basata su FLAR e sui parametri caricati dal file .dat container = new FLARBaseNode(); // creiamo un nuovo FLARBaseNode scene.addChild(container); // aggiungiamo l'oggetto FLARBaseNode alla scena di Papervision var pl:PointLight3D = new PointLight3D(); // creiamo una luce da usare in Papervision // posizioniamo la luce pl.x = 1000; pl.y = 1000; pl.z = -1000; var ml:MaterialsList = new MaterialsList({all: new FlatShadeMaterial(pl)}); // creiamo un nuovo materiale che useremo per i cubi // creiamo i 3 cubi e li posizioniamo a diverse profondità var cube1:Cube = new Cube(ml, 30, 30, 30); var cube2:Cube = new Cube(ml, 30, 30, 30); cube2.z = 50; var cube3:Cube = new Cube(ml, 30, 30, 30); cube3.z = 100; // aggiungiamo i cubi alla scena container.addChild(cube1); container.addChild(cube2); container.addChild(cube3); // impostiamo il rendering della scena bre = new BasicRenderEngine(); trans = new FLARTransMatResult(); // creiamo la visuale vp = new Viewport3D(); // aggiungiamo la scena completa allo stage addChild(vp); } private function renderizza(evt:Event):void { bmd.draw(vid); // disegniamo il frame nell'oggetto bmd if(detector.detectMarkerLite(raster, 80) && detector.getConfidence() > 0.5) // se il marker viene rilevato { detector.getTransformMatrix(trans); // ricaviamo la transformMatrix dal detector container.setTransformMatrix(trans); // impostiamo la transformMatrix sulla scena bre.renderScene(scene, camera, vp); // renderizziamo la scena di Papervision } } } }
mi da sempre 5 errori di questo tipo:
1013: The private attribute may be used only on class property definitions.
riferiti a questa parte del codice (tutte le voci che cominciano con "private function":
qualcuno mi sa dare una mano?codice:private function setupFLARToolkit():void { fparams = new FLARParam(); // creiamo un nuovo oggetto FLARParam fparams.loadARParam(new params() as ByteArray); // carichiamo i parametri della webcam come ByteArray mpattern = new FLARCode(16, 16); // creiamo un nuovo oggetto FLARCode mpattern.loadARPatt(new pattern()); // carichiamo il pattern } private function setupWebcam():void { vid = new Video(640, 480); cam = Camera.getCamera(); cam.setMode(640, 480, 30); vid.attachCamera(cam); addChild(vid); } private function setupPattern():void { bmd = new BitmapData(640, 480); // creiamo un oggetto BitmapData con le stesse dimensioni del flusso della webcam (640x480) bmd.draw(vid); // disegnamo nell'oggetto bmd l'attuale frame del flusso video raster = new FLARRgbRaster_BitmapData(bmd); // creiamo un oggetto FLARRgbRaster_BitmapData passandogli il fotogramma catturato detector = new FLARSingleMarkerDetector(fparams, mpattern, 80); // creiamo un nuovo detector passandogli i parametri della webcam e il pattern da rilevare e la larghezza del marker (80 mm) } private function setupPapervision():void { scene = new Scene3D(); // creiamo un anuova scena di Papervision camera = new FLARCamera3D(fparams); // creiamo una nuova camera basata su FLAR e sui parametri caricati dal file .dat container = new FLARBaseNode(); // creiamo un nuovo FLARBaseNode scene.addChild(container); // aggiungiamo l'oggetto FLARBaseNode alla scena di Papervision var pl:PointLight3D = new PointLight3D(); // creiamo una luce da usare in Papervision // posizioniamo la luce pl.x = 1000; pl.y = 1000; pl.z = -1000; var ml:MaterialsList = new MaterialsList({all: new FlatShadeMaterial(pl)}); // creiamo un nuovo materiale che useremo per i cubi // creiamo i 3 cubi e li posizioniamo a diverse profondità var cube1:Cube = new Cube(ml, 30, 30, 30); var cube2:Cube = new Cube(ml, 30, 30, 30); cube2.z = 50; var cube3:Cube = new Cube(ml, 30, 30, 30); cube3.z = 100; // aggiungiamo i cubi alla scena container.addChild(cube1); container.addChild(cube2); container.addChild(cube3); // impostiamo il rendering della scena bre = new BasicRenderEngine(); trans = new FLARTransMatResult(); // creiamo la visuale vp = new Viewport3D(); // aggiungiamo la scena completa allo stage addChild(vp); } private function renderizza(evt:Event):void { bmd.draw(vid); // disegniamo il frame nell'oggetto bmd if(detector.detectMarkerLite(raster, 80) && detector.getConfidence() > 0.5) // se il marker viene rilevato { detector.getTransformMatrix(trans); // ricaviamo la transformMatrix dal detector container.setTransformMatrix(trans); // impostiamo la transformMatrix sulla scena bre.renderScene(scene, camera, vp); // renderizziamo la scena di Papervision }![]()

Rispondi quotando