hi guys… i’m trying to make an augmented reality game… but i keep getting errors…can somebody please check what’s wrong with my codes:
here:
package
{
import flash.display.;
import flash.text.;
import flash.events.;
import flash.geom.;
import flash.ui.;
import flash.ui.Keyboard;
import flash.utils.;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flashx.textLayout.events.SelectionEvent;
import flash.errors.MemoryError;
import flash.system.fscommand;
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.parsers.DAE;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
public class FlashGame extends MovieClip
{ var enemies:Array = new Array();
var gameEvents:int = 0;
public var gboarder:GBoarder = new GBoarder();
//public var Shooter:AugmentedReality=new AugmentedReality();
private var xmldata:XML;
var isXmlLoaded:Boolean = false;
var currentEvent:int = 0;
var lastTime:int = 0;
var nextInterval:int = 1000;
private var video : Video;
private var webcam : Camera;
private var VIDEO_WIDTH : Number = 640; //Set 100 to 1000 to set width of screen
private var VIDEO_HEIGHT : Number = 480; //Set 100 to 1000 to set height of screen
private var WEB_CAMERA_WIDTH : Number = VIDEO_WIDTH/2; //Smaller than video runs faster
private var WEB_CAMERA_HEIGHT : Number = VIDEO_HEIGHT/2; //Smaller than video runs faster
private var VIDEO_FRAME_RATE : Number = 30; //Set 5 to 30. Higher values = smoother video
private var DETECTION_THRESHOLD : uint = 80; //Set 50 to 100. Set to detect marker more accurately.
private var DETECTION_CONFIDENCE : Number = 0.5; //Set 0.1 to 1. Set to detect marker more accurately.
private var MODEL_SCALE : Number = 0.8; //Set 0.1 to 5. Set higher to enlarge model
[Embed(source="./assets/FLAR/syutersmall", mimeType="application/octet-stream")]
private var Pattern : Class;
[Embed(source="./assets/FLAR/FLARCameraParameters.dat", mimeType="application/octet-stream")]
private var Params : Class;
private var flarBaseNode : FLARBaseNode;
private var flarParam : FLARParam;
private var flarCode : FLARCode;
private var flarRgbRaster_BitmapData : FLARRgbRaster_BitmapData;
private var flarSingleMarkerDetector : FLARSingleMarkerDetector;
private var flarCamera3D : FLARCamera3D;
private var flarTransMatResult : FLARTransMatResult;
private var bitmapData : BitmapData;
private var FLAR_CODE_SIZE : uint = 16;
private var MARKER_WIDTH : uint = 80;
private var basicRenderEngine : BasicRenderEngine;
private var viewport3D : Viewport3D;
private var scene3D : Scene3D;
private var collada3DModel : DAE;
private var COLLADA_3D_MODEL : String = "./assets/models/pin/models/syuter.dae";
public function FlashGame()
{
gotoAndStop(1, "Start");
prepareWebCam();
prepareMarkerDetection(); //Step B
preparePaperVision3D(); //Step C
addEventListener(Event.ENTER_FRAME, loopToDetectMarkerAndUpdate3D);
StartButton.addEventListener(MouseEvent.CLICK,StartClick);
HelpButton.addEventListener(MouseEvent.CLICK,HelpClick);
ExitButton.addEventListener(MouseEvent.CLICK,ExitClick);
//fscommand("fullscreen", "true")
//fscommand("allowscale", "false")
}
private function prepareWebCam() : void
{
video = new Video(VIDEO_WIDTH, VIDEO_HEIGHT);
webcam = Camera.getCamera();
webcam.setMode(WEB_CAMERA_WIDTH, WEB_CAMERA_HEIGHT, VIDEO_FRAME_RATE);
video.attachCamera(webcam);
addChild(video);
}
private function prepareMarkerDetection() : void
{
// The parameters file corrects imperfections
// In the webcam's image. The pattern file
// defines the marker graphic for detection
// by the FLAR tools.
flarParam = new FLARParam();
flarParam.loadARParam(new Params() as ByteArray);
flarCode = new FLARCode(FLAR_CODE_SIZE, FLAR_CODE_SIZE);
flarCode.loadARPatt(new Pattern());
// A BitmapData is Flash's version of a JPG image in memory.
// FLAR studies this image every frame with its
// marker-detection code.
bitmapData = new BitmapData(VIDEO_WIDTH, VIDEO_HEIGHT);
bitmapData.draw(video);
flarRgbRaster_BitmapData = new FLARRgbRaster_BitmapData(bitmapData);
flarSingleMarkerDetector = new FLARSingleMarkerDetector(flarParam, flarCode, MARKER_WIDTH);
}
private function preparePaperVision3D() : void
{
// Basics of the empty 3D scene fit for
// FLAR detection inside a 3D render engine.
basicRenderEngine = new BasicRenderEngine();
flarTransMatResult = new FLARTransMatResult();
viewport3D = new Viewport3D();
flarCamera3D = new FLARCamera3D(flarParam);
flarBaseNode = new FLARBaseNode();
scene3D = new Scene3D();
scene3D.addChild(flarBaseNode);
// Load, scale, and position the model
// The position and rotation will be
// adjusted later in method D below.
collada3DModel = new DAE();
collada3DModel.load(COLLADA_3D_MODEL);
collada3DModel.scaleX = collada3DModel.scaleY = collada3DModel.scaleZ = MODEL_SCALE;
collada3DModel.z = 5; //Moves Model 'Up' a Line Perpendicular to Marker
collada3DModel.rotationX = -90; //Rotates Model Around 2D X-Axis of Marker
collada3DModel.rotationY = 180; //Rotates Model Around 2D Y-Axis of Marker
collada3DModel.rotationZ = 90; //Rotates Model Around a Line Perpendicular to Marker
// Add the 3D model into the
// FLAR container and add the
// 3D cameras view to the screen
// so the user can view the result
flarBaseNode.addChild(collada3DModel);
addChild(viewport3D);
}
private function loopToDetectMarkerAndUpdate3D(aEvent : Event) : void
{
// Copy the latest still-frame of the webcam video
// into the BitmapData object for detection
bitmapData.draw(video);
try {
// Detect *IF* the marker is found in the latest still-frame
if(flarSingleMarkerDetector.detectMarkerLite(flarRgbRaster_BitmapData, DETECTION_THRESHOLD) &&
flarSingleMarkerDetector.getConfidence() > DETECTION_CONFIDENCE) {
// Repeatedly Loop and Adjust 3D Model to Match Marker
flarSingleMarkerDetector.getTransformMatrix(flarTransMatResult);
flarBaseNode.setTransformMatrix(flarTransMatResult);
basicRenderEngine.renderScene(scene3D, flarCamera3D, viewport3D);
}
} catch(error : Error) {}
}
function GameUpdate(event:Event)
{
if(isXmlLoaded && currentEvent < gameEvents)
UpdateGameEvent();
UpdateEnemies();
}
function xmlLoaded(event:Event)
{
xmldata = XML(event.target.data);
gameEvents = xmldata.GameEvent.length();
isXmlLoaded = true;
trace("NAGLOAD NA SI XML");
}
function GenerateEnemies()
{
if(enemies.length <= 10)
{
var Balun0:balun0 = new balun0();
trace("movement" + Balun0.x);
Balun0.x = GenerateRandomNumber(0, 800 - Balun0.width);
enemies.push(Balun0);
stage.addChild(Balun0);
}
}
function UpdateEnemies()
{
trace("Enemy Update");
for(var i:int = enemies.length - 1; i >= 0; i--)
{
enemies*.Update();
if(enemies*.Health < 0)
{
stage.removeChild(enemies*);
enemies.splice(i,1);
}
else if(enemies*.y > 500)
{
stage.removeChild(enemies*);
enemies.splice(i,1);
}
}
}
function UpdateGameEvent()
{
var currentTime:int = getTimer();
var gameEvent:GameEvent;
trace("a");
if(isXmlLoaded)
{
if(currentTime - lastTime > nextInterval)
{
lastTime = currentTime;
trace("b");
nextInterval = int(xmldata.GameEvent[currentEvent].@interval);
trace("nextInterval");
if(xmldata.GameEvent[currentEvent].@type == 1)
{ trace("c");
for(var i:int = 0; i < xmldata.GameEvent[currentEvent].enemy.length(); i++)
{
trace("d");
gameEvent = new SpawnEvent(xmldata.GameEvent[currentEvent].enemy*);
switch(SpawnEvent(gameEvent).Id)
{
case 1:
trace("e");
var Balun0:balun0 = new balun0();
Balun0.x = SpawnEvent(gameEvent).LocationX;
enemies.push(Balun0);
stage.addChildAt(Balun0,1);
break;
case 2:
break;
}
}
}
currentEvent++;
}
}
}
function GenerateRandomNumber(low:Number=NaN, high:Number=NaN):Number
{
var low:Number = low;
var high:Number = high;
if(isNaN(low))
{
throw new Error("low must be defined");
}
if(isNaN(high))
{
throw new Error("high must be defined");
}
return Math.floor(Math.random() * (high - low)) + low;
}
function StartClick(m:MouseEvent)
{
gotoAndStop(1, "Levels")
BalunBackButton2.addEventListener(MouseEvent.CLICK,BalunBackClick);
BgnrButton.addEventListener(MouseEvent.CLICK,BgnrButtonClick);
AdvncdButton.addEventListener(MouseEvent.CLICK,AdvncdButtonClick);
IntrmdButton.addEventListener(MouseEvent.CLICK,IntrmdButtonClick);
}
function BgnrButtonClick(m:MouseEvent)
{
gotoAndStop(1, "Stage2")
gboarder = new GBoarder();
//prepareWebCam();
//stage.addChild(Shooter);
stage.addChild(gboarder);
isXmlLoaded = false;
xmldata = new XML();
var xmlURL:URLRequest = new URLRequest("Stage12.xml");
trace("LOADING XML");
var xmlLoader:URLLoader = new URLLoader(xmlURL);
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
stage.addEventListener(Event.ENTER_FRAME, GameUpdate);
}
function AdvncdButtonClick(m:MouseEvent)
{
gotoAndStop(1, "Stage3")
gboarder = new GBoarder();
//stage.addChild(Shooter);
stage.addChild(gboarder);
}
function IntrmdButtonClick(m:MouseEvent)
{
gotoAndStop(1, "Story")
gboarder = new GBoarder();
//stage.addChild(Shooter);
stage.addChild(gboarder);
}
function HelpClick(m:MouseEvent)
{
gotoAndStop(1, "Beginner")
BalunBackButton.addEventListener(MouseEvent.CLICK,BalunBackClick);
BalunNextButton.addEventListener(MouseEvent.CLICK,BalunNextClick);
}
function ExitClick(m:MouseEvent)
{
fscommand("quit", "true");
}
function BalunBackClick(m:MouseEvent)
{
gotoAndStop(1, "Start");
StartButton.addEventListener(MouseEvent.CLICK,StartClick);
HelpButton.addEventListener(MouseEvent.CLICK,HelpClick);
ExitButton.addEventListener(MouseEvent.CLICK,ExitClick);
}
function BalunNextClick(m:MouseEvent)
{
gotoAndStop(1, "Intermediate");
BalunBackButton3.addEventListener(MouseEvent.CLICK,BalunBack2Click);
BalunNext2Button.addEventListener(MouseEvent.CLICK,BalunNext2Click);
}
function BalunNext2Click(m:MouseEvent)
{
gotoAndStop(1, "Advanced");
BalunBackButton4.addEventListener(MouseEvent.CLICK,BalunBack3Click);
}
function BalunBack2Click(m:MouseEvent)
{
gotoAndStop(1, "Beginner");
BalunBackButton.addEventListener(MouseEvent.CLICK,BalunBackClick);
BalunNextButton.addEventListener(MouseEvent.CLICK,BalunNextClick);
}
function BalunBack3Click(m:MouseEvent)
{
gotoAndStop(1, "Intermediate");
BalunBackButton3.addEventListener(MouseEvent.CLICK,BalunBack2Click);
}
}
}
i keep getting error #1014 and error #1065…