http://GameProgrammer.Com

Programming

GP Mailing List
     Thread Index
     Date Index

ATXGPSIG List
     Thread Index
     Date Index

Google
>

Home

Wise2Food



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gameprogrammer] Re: A newbie Java Question - GUI/Animation etc...



Hi Tom,

I downloaded the Java3D API from Sun.  It looks good but I think it
was a bit much for what I was looking for.  Anyway, after a little
further digging I managed to work out how to do what I was trying to
do.

The key to getting rid of the flicker was not using the paint()
function but instead, using my own.

Firstly, I created a new Image and then obtained the Graphics
interface for the image.  This gave me my offscreen location to
assemble my GUI.  I then use this image and draw it to the Graphics
interface of my Applet

// Variables and members
Image offScreenImage;
Graphics offScreenGraphics;
Graphics onScreenGraphics;

In the init function I run the following:

    offScreenImage = createImage( width, height );
    offScreenGraphics = offScreenImage.getGraphics();
    onScreenGraphics = this.getGraphics();


I then setup a timer to keep the screen up-to-date every xxx
milliseconds which basically runs the following:

    // Draw everything I need to my offscreen Graphics Interface
    offScreenGraphics.drawImage( etc. etc. etc.  );
    offScreenGraphics.drawImage( etc. etc. etc.  );
    offScreenGraphics.drawImage( etc. etc. etc.  );

    // Then draw the whole thing to screen with the Image Interface
    onScreenGraphics.drawImage(offScreenImage, xxx , yyyy , this );

Seems to work quite well for simple graphics and GUI etc.  If I want
anything more complex then I will go down the Java3D route but for now
this will do.

Regards

Richard



On 04/02/2008, Tom Clifford <tjclifford@yahoo.com> wrote:
> Java has it's own Java3D interface, found at:
>
> http://java.sun.com/products/java-media/3D/
>
> It allows you to do what is called active rendering,
> which is similar to the c/c++ WinMain/WndProc loops,
> that uses double-buffering,
> or you can create the objects you want and allow
> Java3D to do the looping for you, while doing
> animation with their Behavior objects.
>
> There are some good java examples with source
> code, at Killer Game Programming with Java, by
>  Andrew Davison
>  O'Reilly, May 2005
>  ISBN: 0-596-00730-2
>  http://www.oreilly.com/catalog/killergame/
>  Web Site for the book:
>  http://fivedots.coe.psu.ac.th/~ad/jg
>
> code downloads and instructions at:
>
> http://fivedots.coe.psu.ac.th/~ad/jg/code/
>
> Tom C.
>
>
> --- richard sabbarton <richard.sabbarton@gmail.com>
> wrote:
>
> > Hi Guys,
> >
> > In C++ on windows I would use animation by creating
> > a compatible
> > device context in memory with CreateCompatibleDC().
> > I would write my
> > game and all of its elements to the MemoryDC and
> > then use something
> > like BitBlt() to push it to my main DC.
> >
> > I have recently started learning Java and I want to
> > perform a similar
> > function.  I want to write all of the elements to
> > memory and then
> > transfer it to the screen every x milliseconds.
> > This is to eliminate
> > flicker etc.
> >
> > I have been looking online through tutorials etc.
> > and I can't seem to
> > find a description of how to do this.  Do I need to
> > use java.awt or
> > should I use javax.swing.
> >
> > Any thoughts on how to do this or suggestions on
> > greating a game
> > display in Java?
> >
> > Initially this is for display in an Applet in a web
> > page.
> >
> > Regards
> >
> > Richard
> >
> > ---------------------
> > To unsubscribe go to
> > http://gameprogrammer.com/mailinglist.html
> >
> >
> >
>
>
>
>      ____________________________________________________________________________________
> Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
>
> ---------------------
> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
>
>
>

---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html