We help IT Professionals succeed at work.

Sprite Animation

even032597
even032597 asked
on
Medium Priority
578 Views
Last Modified: 2008-03-04
There are 3 parts to this question which each relate to this sprite query.

Initially, I would like to refer to the use of the picture box as a way to create a sprite through the API call BItBlt. I would like to know if it possible to store the BITMAP as some kind of data structure without having to actually have it loaded on the screen.

The second question relates to the ability to access the icons on the desktop, through an API call, or perhaps through .INI.

The third question which does not relate exactly to sprite, but to the use of the Joystick API functions and a way access a joystick through development in VB 32bit and not just VB 16 bit. The reason as to why it works only in 16 bit I am aware of so if this is your answer, don't bother, I need a solution to being able to develop with 32 bit and accessing the joystick


Comment
Watch Question

Yes it is possible to store the bitmap as a 'data structure'. Thats how its stored internally anyway when you see the term 'handle to a bitmap' HBITMAP in the api documentation. However I generally tend to use stretchdibits more than bitblt and pass the api the address of the bitmap bits (and also header) instead. This can all be done through VB with some work.

More than that I cant say, it depends on what you want to do..

You may get more response from others by upping your points though!


Author

Commented:
Any examples would be greatly appreciated.
I'm trying to do exactly what you asked. What you need to do is set up a memory device context using the CreateCompatibleDC API function. Then BitBlt the bitmap into the memory DC. That's the easy part. The hard part is writing the routine that reads a bitmap file. You'll need to use the CreateDIBitmap function and the BITMAPINFOHEADER & BITMAPINFO structures. It's really too complicated to discuss here. Check out my animation tutorial at http://www.geocities.com/SiliconValley/Park/3269 or email me.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
I figured out how to do the first part of your question. Depending on what you're trying to accomplish, I have three different solutions. I believe it's worth more than fifty points, though. Whaddaya think?
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.