Målet for denne uge:
- Vi skulle blive bekendt med opbygnignen af OpenEngine
- Implementere IKeyboard og IMouse interfacet i vores SDLInput klasse
- Lave handlers så vores kamera kan styres rundt i vores 3D verden
Det at implementere interfacet fra IMouse og Ikeyboard gik rimeligt smertefrit, dog har vi stadig ikke helt fundet ud af metoden GetMouseState som skal returnere en MouseState. Vi har ikke helt kunne blive enige i gruppen om hvordan den skal laves og eftersom der ikke var nogen metoder der testede den havde vi ikke nogen mulighed for at se hvad der blev forventet af os :-)
Det at kunne styre kameraet fra vores keyboard eller mus skulle ikke være så slemt. Dog var der efter vores mening nogle begrænsninger i den måde OpenEngine var designet på som ville gøre det unødvendigt besværligt at implementere kamera rotation vha af MouseMotion.
Vores MouseMovedEventArg indeholder x, y, buttons. Der forventes af den test som blev leveret med at x og y var de nye x og y koordinater som musen er flyttet til. Men eftesom at SDL event.motion kan give et x,y som er der hvor musen er og et xrel og yrel som er bevægelsen fra dette x,y er dette en mere finkortet information som ikke kan videregives i vores MouseMovedEventArg men kun x+xrel, y+yrel ...
Derfor valgte vi at lave 2 handlers til vores kamera, en HandleTranslate og HandleRotate som begge styres fra keyboardet. Vi ville dog meget gerne at handlerotate kunne styres af musen, men så skulle handleren selv holde styr på hvor den lige har været og så regne et delta x og deltay ud ... i stedet for at gå det fra sdl eventet!!!
Som konklusion kan det siges at vores mål for denne uge blev løst og vi ser frem til næste uge.




Ingen kommentarer:
Send en kommentar