MDX User Interface Questions

Started by
2 comments, last by Deedog 17 years, 10 months ago
I am currently self-learning Managed DirectX 9.0 , and have been able to create a basic window with the basic game loop (Tom Millers), implement the fps counter peices using the query perf dllimport and the like. However, I am at the point where I am now thinking about the UI... I have always liked the starcraft/warcraft interfaces, and am not sure on the best methodology for attacking this. I read up on the specs in the online help, and it seems they have a lot of basic user controls. The User Interface I am thinking of is the traditional RTS design of three panels across the bottom. Now, I was thinking that they could be panels , but am not sure on the Direct X approaches availible to me to implement a structure like that. The questions I have are: 1) Can I render Direct X to a control, and use winforms to handle the lower three panels? 2) Is it more efficient to go full on with MDX, and attempt to create some type of panel structure to house the panels? I am currently attempting to make a turn based strategy game in the vein of age of wonders and heros of Might and Magic. Any responses are appreciated.
Advertisement
1) You could, but only for windowed applications. When you switch to fullscreen, as you probably will for the final game, the panels will no longer be visible or usable.

2) It probably is. Since you're already doing your hardware accelerated rendering for your game, you might as well render the GUI yourself. The same holds true for handling the user input.

You can find a sample UI implementation in the SDK Sample Browser (the Empty Project sample shows how to use it, the Custom UI one shows how to customize it). Though this implementation works nicely, it's a bit messy and can be hard to understand at first. Check out c-unit's tutorials on the subject to learn how a MDX GUI works and how to create one yourself.
Rim van Wersch [ MDXInfo ] [ XNAInfo ] [ YouTube ] - Do yourself a favor and bookmark this excellent free online D3D/shader book!
You could have a panel structure which "contains" other elements such as buttons, and that would be pretty useful as you could position all of the elements within the panel relatively, then offset them by the position of the panel.
JUST-CODE-IT.NETManaged DirectX & C# TutorialsForumsArticlesLinksSamples
Ahh, thanks for the replies guys. It seems using any window form elements then is out the window, which is fine. I figured trying to mix the two together would be messy.

The custom UI project I checked out from the April 2006 SDK is pretty cool, it shows the basic UI peices. I will research this more in detail, though, in regards to a panel structure, that is the route I will probably go. I will need to create backgrounds(I assume this would be a sprite) for them to be laid down on, and that will take some time in itself. So much to learn! :)

This topic is closed to new replies.

Advertisement