jeroendenoot
%Europe/Berlin %879 %2007, 21:06
Hallo, ik ben bezig met een spel te maken voor school. Ik ben nog maar sinds kort met Flash en Actionscript en ik stuit nu op een probleem waar ik niet uitkom. Ik heb al een tijdje gezocht en geprobeerd, maar het lukt me niet het op te lossen.
Het gaat om een bootje dat je naar rechts en links kan bewegen met de pijltjestoetsen en er komen rotsen op het bootje af die ontweken moeten worden. Nu heb ik een hit test erin gemaakt, maar deze werkt alleen de eerste keer.
Dit is het actionscript die een rots bijvoegt:
var rockinterval;
var rockobject;
var rockdepth = 0;
addrock();
function addrock(){
clearInterval(rockinterval);
rockdepth++;
while(getInstanceAtDepth(rockdepth)){
rockdepth++;
};
_root.ship.swapDepths(rockdepth + 1);
rockinterval = setInterval(addrock, Math.random() * 2000 + 1000, rockdepth);
rockobject = attachMovie("rock", "rock", rockdepth);
rockobject._x = Math.random() * 350 + 100;
rockobject._y = 100;
}
Dit is het actionscript dat in de movie clip 'rock' staat om het raken met de boot te testen (wat dus niet werkt):
onClipEvent(enterFrame){
if(hitTest(_root.ship.shipobject.shipbottom)){
trace("Raak");
}
}
Ik krijg alleen 'Raak' in de output als ik met de boot de eerste rots raak, maar bij de daarop volgende rotsen niet.
Het FLA-bestand staat in de bijlage ter verduidelijking.
Zou iemand me misschien kunnen helpen dit probleem op te lossen?
Het gaat om een bootje dat je naar rechts en links kan bewegen met de pijltjestoetsen en er komen rotsen op het bootje af die ontweken moeten worden. Nu heb ik een hit test erin gemaakt, maar deze werkt alleen de eerste keer.
Dit is het actionscript die een rots bijvoegt:
var rockinterval;
var rockobject;
var rockdepth = 0;
addrock();
function addrock(){
clearInterval(rockinterval);
rockdepth++;
while(getInstanceAtDepth(rockdepth)){
rockdepth++;
};
_root.ship.swapDepths(rockdepth + 1);
rockinterval = setInterval(addrock, Math.random() * 2000 + 1000, rockdepth);
rockobject = attachMovie("rock", "rock", rockdepth);
rockobject._x = Math.random() * 350 + 100;
rockobject._y = 100;
}
Dit is het actionscript dat in de movie clip 'rock' staat om het raken met de boot te testen (wat dus niet werkt):
onClipEvent(enterFrame){
if(hitTest(_root.ship.shipobject.shipbottom)){
trace("Raak");
}
}
Ik krijg alleen 'Raak' in de output als ik met de boot de eerste rots raak, maar bij de daarop volgende rotsen niet.
Het FLA-bestand staat in de bijlage ter verduidelijking.
Zou iemand me misschien kunnen helpen dit probleem op te lossen?