To register for an Internet.com membership to receive newsletters and white papers, use the Register button ABOVE.
To participate in the message forums BELOW, click here
VBForums  

VB Wire News
Part 10 of the Visual Basic .NET 2010 Express Tutorial Complete!
How to Use the Visual Studio Code Analysis Tool FxCop
Article :: Interview with Andrei Alexandrescu (Part 3 of 3)
Introducing Visual Studio LightSwitch
Visual Studio LightSwitch Beta 1 is Available



Go Back   VBForums > Visual Basic > Games and Graphics Programming

Reply Post New Thread
 
Thread Tools Display Modes
Old May 2nd, 2007, 02:53 PM   #1
Fromethius
Frenzied Member
 
Join Date: Mar 06
Location: Pennsylvania
Posts: 1,069
Fromethius  is on a distinguished road (40+)
Lightbulb [2005] DirectX Questions

Answer 1, 2, none, or whatever! Any input is loved!

1) Be it VB .Net or C#, I am using C#, when I use a TextureLoader to create a texture, the Texture is compressed and looks horrible, and sometimes the file even changes size. Looks like a horribly compressed JPEG.

However, if I create a Bitmap object, load the file into it, and create a Texture from the Bitmap object, it looks perfectly fine. However, this makes me create a BMP variable. Is there a way to keep using TextureLoader but keep the Bitmap looking normal?

2) I know that when I am drawing a Sprite, I can draw only a portion of the Texture using a Rectangle object, but how can I have it so that I can CREATE a Texture object from only a portion of a Bitmap? Code example please

3) Do I really need a Sprite object for everything? It seems all they are is an object that relates to the Device, not texture or anything. Could I just have a global Sprite variable and keep constanly Starting and Ending it? Why have a Sprite variable for every single Texture and Bitmap in your game? Because when you do that, it eventually ends up like this:

Code:
            sprBullet = new Sprite(device);
            sprLives = new Sprite(device);
            sprEnemy01 = new Sprite(device);
            sprProjBomb = new Sprite(device);
            sprBomb = new Sprite(device);
            sprExplosion = new Sprite(device);
4) When playing a Sound with a SecondaryBuffer with DirectSound like this:

Code:
            DirectSound.Device soundDevice = new DirectSound.Device();
            soundDevice.SetCooperativeLevel(this, DirectSound.CooperativeLevel.Normal);
            soundLaser = new DirectSound.SecondaryBuffer("laserfire.wav", soundDevice);
soundLaser.Play(0, DirectSound.BufferPlayFlags.Default);
I play the sound in the MouseClick EventHandler, but when I click really fast, sometimes it skips. Is there any way to play the Sound from the beginning right when I click? If I click to fast it plays the sound, waits till it's done, and then you can play a new sound. I would prefer if it played again when I clicked whether or not the previously played sound is complete or not.

5) There are Sprite Maps, and Texture maps, but are there also Sound Maps? Like have one SecondaryBuffer and one WAV with lots of sounds in it, and play parts of the file to parts of the file. Probably not probable or plausible or even ethical but it's worth knowing.

6) Controls? I'm still looking on how to draw Textboxes and Buttons onto the screen in Full Screen Mode. I need to have Textboxes and a Button for my login screen for a game I am making with DX but I need to know how to draw controls onto the screen neatly.

7) Is there an easier way to check if an event has occured rather than, in the Render Function, use a foreach with the Bullets Class and the Enemies class and see if they have collided or not? Checking every single time possible doesn't seem too speed-efficient. I know I should use properties, but there are two classes that are colliding? I know I should put some sort of if statement in the set statement of the X and Y property in Bullets and Enemies, but how can I link them? Is it even possible?

8) Is there any other way to make a Texture transparent besides making a Bitmap Object, and passing the bitmap directory as a parameter, then calling the bitmap object and using the MakeTransparent property of the bitmap, and THEN create a texture out of that bitmap? It would probably be easier if I could use some sort of TextureLoader to load the bitmap automatically into the Texture and making it transparent with the color black or purple or whatever color the background color of the image is.


Thanks for any help. Answer any of them you want, or answer none at all! Thanks for any future help, though!

Fromethius is offline   Reply With Quote
Old May 2nd, 2007, 05:42 PM   #2
SLH
Not NoteMe
 
SLH's Avatar
 
Join Date: Mar 02
Location: 192.168.0.1 Preferred Animal: Penguin Reason for errors: Line#38
Posts: 3,039
SLH will become famous soon enough (65+)
Re: [2005] DirectX Questions

6) As far as i know you can't overlay windows controls on a DX surface. You've either got to remake the controls within your DX code (a lot of work) or make your logonscreen display before you start DX (or maybe in a seperate window, that appears above the one DX is rendered on).

7) You could use C#'s delegates/events in order to link actions (e.g. an enemy beind killed) to an event (bullet hitting him) but you've still got to check for a hit somewhere (maybe in the bullet's 'think'/movement code). You'd then trigger the enemy's 'Ive Been Killed' code.

8) TGA files save alpha levels, and i think the texture loader uses these. So you could have parts transparent, as well as partially so if you want. Just find a BMP -> TGA converter on the web and you're set.
__________________


Quotes:
"I am getting better then you guys.." NoteMe, on his leet english skills.
"And I am going to meat her again later on tonight." NoteMe
"I think you should change your name to QuoteMe" Shaggy Hiker, regarding NoteMe
"my sweet lord jesus. I've decided never to have breast implants" Tom Gibbons
Have I helped you? Please Rate my posts.

SLH is offline   Reply With Quote
Old May 2nd, 2007, 07:45 PM   #3
Fromethius
Frenzied Member
 
Join Date: Mar 06
Location: Pennsylvania
Posts: 1,069
Fromethius  is on a distinguished road (40+)
Re: [2005] DirectX Questions

OK thanks for the reply.

6) I need a textbox and buttons in the game itself as well so I think that option is out >_>

7) Do you still have to check every single time they move? If so, doesn't help much

8) How can I set parts of the bitmap transparent so when I convert it to a TGA, it knows which part is transparent?
Fromethius is offline   Reply With Quote
Old May 4th, 2007, 12:07 PM   #4
SLH
Not NoteMe
 
SLH's Avatar
 
Join Date: Mar 02
Location: 192.168.0.1 Preferred Animal: Penguin Reason for errors: Line#38
Posts: 3,039
SLH will become famous soon enough (65+)
Re: [2005] DirectX Questions

6) Then you've got a lot of work ahead. Not sure if there are any good resources on creating a GUI within DX in C#, have seen a few C++ ones.

7) Yes, otherwise the user may see a delay from the bullet hitting the object to it being killed.

8) You'd have to look for a program that allowed you to either set transparent pixels once the BMP was read in, or automatically set a particular colour on the BMP to be transparent once converted to the TGA.
__________________


Quotes:
"I am getting better then you guys.." NoteMe, on his leet english skills.
"And I am going to meat her again later on tonight." NoteMe
"I think you should change your name to QuoteMe" Shaggy Hiker, regarding NoteMe
"my sweet lord jesus. I've decided never to have breast implants" Tom Gibbons
Have I helped you? Please Rate my posts.

SLH is offline   Reply With Quote
Old May 4th, 2007, 04:00 PM   #5
Fromethius
Frenzied Member
 
Join Date: Mar 06
Location: Pennsylvania
Posts: 1,069
Fromethius  is on a distinguished road (40+)
Re: [2005] DirectX Questions

Got any advice/links for number 6? Also, for number 8, can you reccomend any?

As for the others, anyone know?
Fromethius is offline   Reply With Quote
Old May 5th, 2007, 11:36 AM   #6
SLH
Not NoteMe
 
SLH's Avatar
 
Join Date: Mar 02
Location: 192.168.0.1 Preferred Animal: Penguin Reason for errors: Line#38
Posts: 3,039
SLH will become famous soon enough (65+)
Re: [2005] DirectX Questions

6) Here's a good article on creating a GUI in DirectX using C++
http://www.gamedev.net/reference/pro.../features/gui/

8) Never needed to convert a bmp to tga so can't recommend. a quick google should turn up some good results i guess.
__________________


Quotes:
"I am getting better then you guys.." NoteMe, on his leet english skills.
"And I am going to meat her again later on tonight." NoteMe
"I think you should change your name to QuoteMe" Shaggy Hiker, regarding NoteMe
"my sweet lord jesus. I've decided never to have breast implants" Tom Gibbons
Have I helped you? Please Rate my posts.

SLH is offline   Reply With Quote
Reply

Go Back   VBForums > Visual Basic > Games and Graphics Programming


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 05:29 AM.





Acceptable Use Policy

Internet.com
The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.