Yep, ik ben ook maar is begonnen met DirectX, ik heb net een progseltje gebouwd wat je hier kunt downloaden.
Alleen ik heb nu te kampen met één probleempje en ik hoop dat jullie mij er bij kunnen helpen, de map van het spel (voor zover je het spel kunt noemen) is opgedeeld in 9 fictionele rechthoeken, als de speler klikt in de eerste rechthoek (links-boven dus) dan verplaatst de map naar linksboven, klikt de speler in de 6e rechthoek (rechts) dan verplaatst de map naar rechts.
Als de speler echter in de middelste rechthoek klikt is het de bedoeling dat het spelkarakter zich alleen verplaatst, en NIET de map zoals eerdergenoemd.
Dit zal op zich geen probleem zijn, ik moet echter wel de directie uitrekenen waarheen het karakter gaat omdat de animatie van het spelkarakter daar aan aangepast moet worden.
Dat heb ik getracht te doen door de hoek te berekenen tussen het spelkarakter en de plaats waar de muis is.
Maar die waarde is echter niet absoluut want wanneer de afstand ook maar iets veranderd, veranderd de hoek in een aantal gevallen in een vrij onlogische waarde, zodat ik niet kan detecteren wat voor directie het spelkarakter uitgaat....
Ik meen dat hier een andere mathematische(?) methode voor moet zijn om dit in een juiste manier te berekenen.
Zelf ben ik niet echt een ster in de wiskunde, dus hierbij doe ik een beroep op jullie wiskundige kennis
Hieronder staat het stukje code dat de hoek berekend
*
ik heb het ook nog op een andere manier geprobeerd, namelijk deze:
*
* R2D is een functie die de radialen converteerd naar graden, Atn is de functie voor de ArcTangent (Boog tangens)
Verder moet er nog een hoop gebeuren aan de engine, oa.
• Pathfinding (A* Algoritme of Dijkstra's algoritme)
• Padding en doppler effect in geluid
• Perfect collision detection
• Hardware enumeration voor Direct3D (items, NPC's wil ik 3d maken)
• Interface
Ohja, de resolutie in het spel kan getweaked worden met F2 (maar dit is nog wel buggy)
Hier nog enkele specs die minimaal nodig zijn om het progsel te startten:
• DirectX 7 of hoger
• VB Runtimes (anders krijg je een mooie ActiveX error)
Als laatste hoop ik jullie te vermaken met een screenshot (dit is ook de enige, want verder is er niet veel te zien
)

ps.
Als je in de 'game' in de middelste rechthoek klikt dan krijg je de hoek in graden te zien van het karakter en de muis, en kopieer het font wat in de directory staat naar je windows-font map om wat redelijke fonts te zien te krijgen.
Alleen ik heb nu te kampen met één probleempje en ik hoop dat jullie mij er bij kunnen helpen, de map van het spel (voor zover je het spel kunt noemen) is opgedeeld in 9 fictionele rechthoeken, als de speler klikt in de eerste rechthoek (links-boven dus) dan verplaatst de map naar linksboven, klikt de speler in de 6e rechthoek (rechts) dan verplaatst de map naar rechts.
Als de speler echter in de middelste rechthoek klikt is het de bedoeling dat het spelkarakter zich alleen verplaatst, en NIET de map zoals eerdergenoemd.
Dit zal op zich geen probleem zijn, ik moet echter wel de directie uitrekenen waarheen het karakter gaat omdat de animatie van het spelkarakter daar aan aangepast moet worden.
Dat heb ik getracht te doen door de hoek te berekenen tussen het spelkarakter en de plaats waar de muis is.
Maar die waarde is echter niet absoluut want wanneer de afstand ook maar iets veranderd, veranderd de hoek in een aantal gevallen in een vrij onlogische waarde, zodat ik niet kan detecteren wat voor directie het spelkarakter uitgaat....
Ik meen dat hier een andere mathematische(?) methode voor moet zijn om dit in een juiste manier te berekenen.
Zelf ben ik niet echt een ster in de wiskunde, dus hierbij doe ik een beroep op jullie wiskundige kennis
Hieronder staat het stukje code dat de hoek berekend
code:
1
2
| Dim Angle As Double Angle = R2D(Atn((Mouse.mousePos.pY - CharArray(1).pPos.pY) / (Mouse.mousePos.pX - CharArray(1).pPos.pX))) |
*
ik heb het ook nog op een andere manier geprobeerd, namelijk deze:
code:
1
2
3
4
5
6
| Dim Angle As Double, DiffX As Long, DiffY As Long
Angle = Atn((Mouse.mousePos.pY - CharArray(1).pPos.pY) / (Mouse.mousePos.pX - CharArray(1).pPos.pX)))
If Angle < 0 Then Angle = Angle + Pi
GetAngle = R2D(Angle) |
*
* R2D is een functie die de radialen converteerd naar graden, Atn is de functie voor de ArcTangent (Boog tangens)
Verder moet er nog een hoop gebeuren aan de engine, oa.
• Pathfinding (A* Algoritme of Dijkstra's algoritme)
• Padding en doppler effect in geluid
• Perfect collision detection
• Hardware enumeration voor Direct3D (items, NPC's wil ik 3d maken)
• Interface
Ohja, de resolutie in het spel kan getweaked worden met F2 (maar dit is nog wel buggy)
Hier nog enkele specs die minimaal nodig zijn om het progsel te startten:
• DirectX 7 of hoger
• VB Runtimes (anders krijg je een mooie ActiveX error)
Als laatste hoop ik jullie te vermaken met een screenshot (dit is ook de enige, want verder is er niet veel te zien

ps.
Als je in de 'game' in de middelste rechthoek klikt dan krijg je de hoek in graden te zien van het karakter en de muis, en kopieer het font wat in de directory staat naar je windows-font map om wat redelijke fonts te zien te krijgen.
| To acknowledge what is known as known and what is not known as known is knowledge. |