I'm very new to actionscript and this is my first try for a game
Anybody knows how to make my ball bounce when they hit a ufo like in the example pic
(it's kinda like a blockbreaker game)
the code is
[code]// Globale variabelen plaatsen
var xSpeed:int;
var ySpeed:int;
var ufoXSpeed:int = 5;
var ufoYSpeed:int =5;
var score:uint;
var tank:Tank;
init();
// De init functie ----------------------------------------
function init():void
{
// plaats de paddle op de stage
zetTank();
// plaats de paddle op de stage
zetBal();
// plaats de Ufo op de stage
zetUfo();
// Functie als de Ufo's geraakt worden
raakUfo();
// luisteren naar het keydown event
stage.addEventListener(KeyboardEvent.KEY _DOWN, verplaatsTank);
}
// Functie om de paddle te zetten ------------------------
function zetTank():void
{
// nieuwe instantie van de paddle aanmaken
tank = new Tank();
// de paddle centraal positioneren tegen de rechterzijde van de stage
tank.x = stage.stageWidth/2;
tank.y = stage.stageHeight - (tank.height /2);
// de paddle toevoegen aan de stage
addChild(tank);
}
// Functie om de bal te plaatsen --------------------------
function zetBal():void
{
// een nieuwe instantie van bal aanmaken
var bal:Bal = new Bal();
// de bal in het centrum van de stage positioneren
bal.x = stage.stageWidth/2;
bal.y = stage.stageHeight/2;
// de bal toevoegen aan de stage
addChild(bal);
// een willekeurige snelheid aanmaken voor de x en y
xSpeed = Math.round(Math.random() * 10 + 5);
ySpeed = Math.round(Math.random() * 10 + 5);
// EventListener voor de bal te laten bewegen
bal.addEventListener(Event.ENTER_FRAME, animeerBalHandler);
}
// Functie om de paddle te bewegen ------------------------
function verplaatsTank(event:KeyboardEvent):void
{
//controleren welke key ingedrukt werd
if(event.keyCode == 37)
{
//paddle mag niet buiten de stage bewegen
if(tank.x > (0 + tank.width/2))
{
tank.x -= 10;
}
}
if(event.keyCode == 39)
{
if(tank.x < (stage.stageWidth - tank.width/2))
{
tank.x += 10;
}
}
}
// Functie om de bal te laten bewegen ----------------------
function animeerBalHandler(event:Event):void
{
// het element dat de event oproept = event.currentTarget
var bal:Bal = event.currentTarget as Bal;
// de bal bewegen door de x en y positie op te tellen met de aangemaakte xSpeed en ySpeed
bal.x += xSpeed;
bal.y += ySpeed;
// controleren of er een botsing is tegen de linkerzijde
if(bal.x <= bal.width/2)
{
xSpeed = Math.round(Math.random() * 10 + 10);
}
// tegen de bovenzijde
if(bal.y <= bal.height/2)
{
ySpeed = Math.round(Math.random() * 10 + 10);
}
// tegen de onderzijde
// ySpeed moet hier negatief worden want de bal moet opnieuw naar boven
if(bal.x >= 800 - bal.width/2)
{
xSpeed = Math.round(Math.random() * 10 + 10) * -1;
}
// opmerking: een botsing tegen de rechterzijde moet hier iet gecontroleerd worden
// aangezien de bal dan niet mag terugkaatsen maar moet opgevangen worden met de paddle
// controleren of de bol voorbij de lijn van de tank is
if(bal.y + bal.height/2>= tank.y)
{
// controleren of er een hittest is met de tank
if(bal.hitTestObject(tank))
{
// de richting voor de y positie wijzigen
ySpeed = Math.round(Math.random() * 10 + 10) * -1;
}
else
{
// game over: niet meer naar het ENTER_FRAME event luisteren
bal.removeEventListener(Event.ENTER_FRAM E,animeerBalHandler);
// de bal van de stage verwijderen
removeChild(bal);
}
}
}
// Functie om de Ufo's op de stage te zetten --------------
function zetUfo():void
{
var xPos:Number = 0
do
{
var ufo:Ufo = new Ufo();
ufo.x = xPos + 100;
ufo.y = 50;
addChild(ufo);
// Beweeg de Ufo
ufo.addEventListener(Event.ENTER_FRAME, beweegUfoHandler);
xPos = xPos + ufo.width;
}
while(xPos < stage.stageWidth - ufo.width)
}
// Functie om de Ufo's te laten bewegen -------------------
function beweegUfoHandler(event:Event):void
{
// het element dat de event oproept = event.target
var ufo:Ufo = event.target as Ufo;
// ufo bewegen
ufo.x = ufo.x + ufoXSpeed;
ufo.y = ufo.y + ufoYSpeed;
// botsting tegen de onderzijde opvangen
if(ufo.y >= 300 || ufo.y < ufo.height / 2)
{
ufoYSpeed = ufoYSpeed * -1;
}
// rechterzijde
if(ufo.x >= 800 - ufo.width/2 || ufo.x < ufo.width / 2)
{
ufoXSpeed = ufoXSpeed * -1;
}
}
// Functie als de Ufo's geraakt worden --------------------
function raakUfo():void
{
}[/code]
the code has to come in the last function 'raakUfo'
