HitTestObject i Actionscript 3.0
Hej!
Gör ett spel som projektarbete i gymnasiet och valde att använda mig av flash. Då ingen lärare på min skola tycks kunna detta språk vänder jag mig till er istället. Spelet går ut på att man ska komma så långt som möjligt som ett rymdskepp medan man undviker asteroider. Jag har lyckats få ihop allt med rörelse, slumpgenerator som spawnar asteroider, men nu stöter jag på problem när jag försöker lösa kollisionen. Jag kodar inte i frames utan i separata as filer(en för asteroiderna, en för skeppet osv.), och för nuvarande ser själva huvudscriptet ut som följande:
package com.asgamer.basics1
{
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.Event;
public class Engine extends MovieClip
{
private var numStars:int = 80;
private var enemyList:Array = new Array();
private var ourShip:Ship;
public function Engine() : void
{
ourShip = new Ship(stage);
stage.addChild(ourShip);
ourShip.x = stage.stageWidth / 2;
ourShip.y = stage.stageHeight / 2;
for (var i:int = 0; i < numStars; i++)
{
stage.addChildAt(new Star(stage), stage.getChildIndex(ourShip));
}
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
private function loop(e:Event) : void
{
if (Math.floor(Math.random() * 10) == 5)
{
var enemy:Asteroid = new Asteroid(stage);
enemy.addEventListener(Event.REMOVED_FROM_STAGE, removeEnemy, false, 0, true);
enemyList.push(enemy);
stage.addChild(enemy);
}
}
private function removeEnemy(e:Event)
{
enemyList.splice(enemyList.indexOf(e.currentTarget), 1);
}
}
}
Om någon av er skulle kunna hjälpa mig att få ett fungerande kollisionstest skulle jag vara väldigt tacksam!