dudejonne
%Europe/Berlin %611 %2009, 15:40
SWF voorbeeld:
http://spamtheweb.com/ul/upload/290409/75115_test.php
FLA bestand:
http://spamtheweb.com/ul/upload/290409/75181_test.fla
Alle code:
fishie is de vis en stage0 de grijze doos ding.
this.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
fishie._x-=5;
}
if (Key.isDown(Key.RIGHT)) {
fishie._x+=5;
}
if (Key.isDown(Key.UP)) {
fishie._y-=5;
}
if (Key.isDown(Key.DOWN)) {
fishie._y+=5;
}
while (stage0.hitTest(fishie._x,fishie._y+40,true)) {
stage0._y++;
}
while (stage0.hitTest(fishie._x,fishie._y-40,true)) {
stage0._y--;
}
while (stage0.hitTest(fishie._x-50,fishie._y,true)) {
stage0._x--;
}
while (stage0.hitTest(fishie._x+30,fishie._y,true)) {
stage0._x++;
}
}
Probleem:
Zoals je in de code kan zien gebruik ik een while met een shapeflag hittest, zodat de vis de doos kan 'duwen'. Het is de bedoeling dat de vis ten alle tijden in de doos blijft.
Als de vis te grijze doos raakt, wordt de doos een pixel verplaatst tot hij de doos niet meer raakt.
Het werkt in het begin goed, echter vanaf het moment dat de vis de doos raakt gaat de hittest zich als een bounding box hittest gedragen en loop de while door totdat de bounding boxes elkaar niet meer raken. Het vreemde is dat ik een shapeflag hittest gebruik en de bounding box hittest meteen al true zou moeten geven. Ik snap er helemaal niks van!
EDIT:
Extra voorbeeld:
http://spamtheweb.com/ul/upload/300409/56935_test2.php
Kijk wat er gebeurt als je naar boven gaat, eerst doet de hittest niks, totdat de shapeflag hittest true geeft, dan gedraagt de hittest ineens als een boundingbox hittest!
http://spamtheweb.com/ul/upload/290409/75115_test.php
FLA bestand:
http://spamtheweb.com/ul/upload/290409/75181_test.fla
Alle code:
fishie is de vis en stage0 de grijze doos ding.
this.onEnterFrame = function() {
if (Key.isDown(Key.LEFT)) {
fishie._x-=5;
}
if (Key.isDown(Key.RIGHT)) {
fishie._x+=5;
}
if (Key.isDown(Key.UP)) {
fishie._y-=5;
}
if (Key.isDown(Key.DOWN)) {
fishie._y+=5;
}
while (stage0.hitTest(fishie._x,fishie._y+40,true)) {
stage0._y++;
}
while (stage0.hitTest(fishie._x,fishie._y-40,true)) {
stage0._y--;
}
while (stage0.hitTest(fishie._x-50,fishie._y,true)) {
stage0._x--;
}
while (stage0.hitTest(fishie._x+30,fishie._y,true)) {
stage0._x++;
}
}
Probleem:
Zoals je in de code kan zien gebruik ik een while met een shapeflag hittest, zodat de vis de doos kan 'duwen'. Het is de bedoeling dat de vis ten alle tijden in de doos blijft.
Als de vis te grijze doos raakt, wordt de doos een pixel verplaatst tot hij de doos niet meer raakt.
Het werkt in het begin goed, echter vanaf het moment dat de vis de doos raakt gaat de hittest zich als een bounding box hittest gedragen en loop de while door totdat de bounding boxes elkaar niet meer raken. Het vreemde is dat ik een shapeflag hittest gebruik en de bounding box hittest meteen al true zou moeten geven. Ik snap er helemaal niks van!
EDIT:
Extra voorbeeld:
http://spamtheweb.com/ul/upload/300409/56935_test2.php
Kijk wat er gebeurt als je naar boven gaat, eerst doet de hittest niks, totdat de shapeflag hittest true geeft, dan gedraagt de hittest ineens als een boundingbox hittest!