Ik ben bezig met een projectje voor mezelf om een beetje thuis te voelen in OpenGL programeren in C++.
Het projectje beeld nu een snelweg af (textured en al) met de juiste belichting en 2 voertuigen.
De 2 voertuigen heb ik staan in een Displaylist zodat ik makkelijk een snelweg vol met ze kan toveren.
Het moet een kleine simulatie worden waarbij de d.m.v de signalering boven de snelweg de snelheid aan kan geven, en dat de meeste voertuigen zich er ook aan houden natuurlijk. maar omdat ik nu bijv al een truck en een auto heb zal de truck max 80 rijden ... en de auto max 120, het zal dus wel eens voorkomen dat een auto die op de rechter rijbaan rijdt de truck voorbij moet, want nu rijd deze en gewoon dwars doorheen, de postitie van de auto kan ik manipuleren met :
glTranslatef(carl,-1.0f,carf);
waarin ik dus 2 variabelen heb verwerkt nl :
carl : voor de beweging op de X as ... hiermee kan ik dus van rijbaan wisselen.
carf : voor de beweging op de Z as... hiermee regel ik dus de snelheid van het auto'tje
Omdat dit me eerste openGL projectje is wil ik het, relatief, simpel houden. en daarom niet een complete "ai" te gaan schrijven die ik bij elke auto weer kan gebruiken.
Nu ben ik zover dat ik de carf waarde van de truck vergelijk met carf waarde van de auto zodra deze gelijk zijn increase ik de carl variabele en beweegt de auto dus naar de linker rijbaan. in de praktijk werk dit nog niet lekker omdat hij eerst half door de truck rijdt en daarna pas naar links gaat maar das van latere zorg.
Als ik op start druk voert hij dus het volgende stukje code uit:
Het probleem :
Als de auto eenmaal op de linker rijbaan zit mag hij de truck voorbij, maar ik wil niet dat alle auto's op de linker-baan blijven en alle truck's rechts. Ik wil dat het weer gelijk verdeeld word zodra er rechts weer ruimte is. Ik loop hier nou al ruim een weekend over te piekeren hoe ik dit het beste kan coden (hoe ik dus kan zorgen dat bijde rijbanen ong even vol zijn) maar ik kom er niet uit. Ik hoop dat jullie me hier enigzins bij kunnen helpen.
Ik hoop dat ik hier duidelijk genoeg ben geweest, heb je nog vragen of is er nog iets onduidelijk post het gewoon even.
LETOP : dit is geen code request, enigste wat ik vraag is dat jullie even willen brainstormen hoe dit op te lossen.
Het projectje beeld nu een snelweg af (textured en al) met de juiste belichting en 2 voertuigen.
De 2 voertuigen heb ik staan in een Displaylist zodat ik makkelijk een snelweg vol met ze kan toveren.
Het moet een kleine simulatie worden waarbij de d.m.v de signalering boven de snelweg de snelheid aan kan geven, en dat de meeste voertuigen zich er ook aan houden natuurlijk. maar omdat ik nu bijv al een truck en een auto heb zal de truck max 80 rijden ... en de auto max 120, het zal dus wel eens voorkomen dat een auto die op de rechter rijbaan rijdt de truck voorbij moet, want nu rijd deze en gewoon dwars doorheen, de postitie van de auto kan ik manipuleren met :
glTranslatef(carl,-1.0f,carf);
waarin ik dus 2 variabelen heb verwerkt nl :
carl : voor de beweging op de X as ... hiermee kan ik dus van rijbaan wisselen.
carf : voor de beweging op de Z as... hiermee regel ik dus de snelheid van het auto'tje
Omdat dit me eerste openGL projectje is wil ik het, relatief, simpel houden. en daarom niet een complete "ai" te gaan schrijven die ik bij elke auto weer kan gebruiken.
Nu ben ik zover dat ik de carf waarde van de truck vergelijk met carf waarde van de auto zodra deze gelijk zijn increase ik de carl variabele en beweegt de auto dus naar de linker rijbaan. in de praktijk werk dit nog niet lekker omdat hij eerst half door de truck rijdt en daarna pas naar links gaat maar das van latere zorg.
Als ik op start druk voert hij dus het volgende stukje code uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| if (start2)
{
glLoadIdentity();
carf-=0.001f;
glTranslatef(carl,-1.0f,carf);
glBindTexture(GL_TEXTURE_2D, texture[2]);
glCallList(car);
glLoadIdentity();
carf2-=0.001f;
glTranslatef(carl2,-1.0f,carf2);
glBindTexture(GL_TEXTURE_2D, texture[3]);
glCallList(truck);
} |
Het probleem :
Als de auto eenmaal op de linker rijbaan zit mag hij de truck voorbij, maar ik wil niet dat alle auto's op de linker-baan blijven en alle truck's rechts. Ik wil dat het weer gelijk verdeeld word zodra er rechts weer ruimte is. Ik loop hier nou al ruim een weekend over te piekeren hoe ik dit het beste kan coden (hoe ik dus kan zorgen dat bijde rijbanen ong even vol zijn) maar ik kom er niet uit. Ik hoop dat jullie me hier enigzins bij kunnen helpen.
Ik hoop dat ik hier duidelijk genoeg ben geweest, heb je nog vragen of is er nog iets onduidelijk post het gewoon even.
LETOP : dit is geen code request, enigste wat ik vraag is dat jullie even willen brainstormen hoe dit op te lossen.
... MMORPG Addict.