Pino1990
Gebruiker
- Lid geworden
- 5 aug 2006
- Berichten
- 93
Hallo allemaal,
Als beginnend programmeur op t gebied van C# en XNA (heb wel al ervaring met PHP, wat er qua logica wel een beetje op lijkt), kom ik niet uit het volgende probleem. Ik ben bezig een method te schrijven waarin een object kan springen. De parameters bestaan uit de y positie (een ref) en een spring hoogte. Hieronder de code so far:
Het springen werkt als ik het "goDown" gedeelte uit zet met comments en ook het val gedeelte werkt als ik het spring gedeelde uit zet met comments. Tegelijk werkt het echter niet. Het lijkt wel of alles tegelijk wordt uitgevoerd, dus dat de twee gedeeltes elkaar weer opheffen. En dit terwijl goDown pas wordt ingeschakeld als het eerste gedeelte klaar is...
Iemand een idee?
Alvast bedankt!
Als beginnend programmeur op t gebied van C# en XNA (heb wel al ervaring met PHP, wat er qua logica wel een beetje op lijkt), kom ik niet uit het volgende probleem. Ik ben bezig een method te schrijven waarin een object kan springen. De parameters bestaan uit de y positie (een ref) en een spring hoogte. Hieronder de code so far:
Code:
static void jump(ref float charPosY, float jumpHeight)
{
//Temporary vars
float charStartPosY = charPosY;
float jumpStartHeight = jumpHeight;
bool goDown = false;
//Check if character is not going down, let the man jump!
while (!goDown)
{
for (float i = 0; i <= jumpStartHeight; i++)
{
charPosY -= jumpHeight;
jumpHeight--;
if (i >= jumpStartHeight)
{
//If the man finished jumping, set goDown true
goDown = true;
jumpHeight = 0;
}
}
}
//If our man jumped high enough, let him fall down again
if (goDown)
{
for (float i = 0; i <= jumpStartHeight; i++)
{
charPosY += jumpHeight;
jumpHeight++;
}
}
}
Het springen werkt als ik het "goDown" gedeelte uit zet met comments en ook het val gedeelte werkt als ik het spring gedeelde uit zet met comments. Tegelijk werkt het echter niet. Het lijkt wel of alles tegelijk wordt uitgevoerd, dus dat de twee gedeeltes elkaar weer opheffen. En dit terwijl goDown pas wordt ingeschakeld als het eerste gedeelte klaar is...
Iemand een idee?
Alvast bedankt!