Jump to content

  • Log In with Google      Sign In   
  • Create Account

Calling all IT Pros from Canada and Australia.. we need your help! Support our site by taking a quick sponsored surveyand win a chance at a $50 Amazon gift card. Click here to get started!


[java] Still more graphical problems.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 Smoo   Members   -  Reputation: 122

Like
Likes
Like

Posted 21 February 2000 - 10:58 AM

Well I''m back.. and with the same problem as last time. I''ve been checking up for info and haven''t found much to say the least so I''ll repost my problem in more depth and hopefully it''s just a small little detail that I''m missing. Ok here''s the scoop: I''ve got a class that I''m running called MapScroller which is obviously what it says; that''s where my guy is running around the map. So when I''m calling the function to display the user-made window that holds text (the window looks very similar to the ones in final fantasy) I have this: public class MapScroller extends Canvas implements Runnable { public MapScroller (TheGame g1) { game = g1; } ... ... public boolean keyDown(Event evt, int key) { ... case Event.ENTER: game.dialog.setDialogText("Healing Potion Found"); game.dialog.setBkground(snapShot); game.loadDialog(); } } ok, now in every class constructor I have game = g1 which is where I load and unload all my classes from which is shown here: public class TheGame extends Frame { charDialog dialog; MapScroller m1; public void init() { dialog = new charDialog(this); m1 = new MapScroller(this); } public void loadDialog() { remove(m1); add(dialog); resize(648, 505); dialog.init(); } } I load up all the other classes (that extend cavas) in similar manners to simulate switching from window to window. This is fine up until now though where I get the problem with the charDialog. Here''s a snippet from that: public class charDialog extends Canvas { charDialog(TheGame g1) { setSize(648,506); game = g1; } public void init() { offscreenImage = createImage(getSize().width, getSize().height); offscreen = offscreenImage.getGraphics(); ... repaint(); } public void paint(Graphics g) { requestFocus(); offscreen.setFont(font); offscreen.drawImage(bkgroundImage, 0, 0, this); createDialog(); ... g.drawImage(offscreenImage, 0, 0, this); } public void update(Graphics g) { paint(g); } public void setDialogText(String text) { dialogText = text; } public void setBkground(Image image) { bkgroundImage = image; } } ok phew, I think that about covers the code part. So here''s where the "flicker" takes place. What I believe to be the problem is in TheGame class where I remove(m1) then add(dialog), it removes the mapscroller so it has to draw something (a blank screen) then it adds the chardialog, then it repaints it. Now what I''m thinking is that I need to place the add, remove, init commands in a certain order that will make it not draw the blank screen. Now from the possible solutions that I had received before (making an invisible background) which sounded like a very sweet idea (and I''d still like to learn how), I checked out the web site that had the info on it but it was about as helpful and the MSDN that comes with VJ++. What I need to understand something is code and that''s why the help for java really bites So I still don''t know if the invisible/transparent background thing would work or not. So I''m hoping you folks out there will be able to help me out again Thanks. Smoo

Sponsor:

#2 Jim_Ross   Members   -  Reputation: 122

Like
Likes
Like

Posted 21 February 2000 - 11:14 AM



Edited by - Jim_Ross on 2/21/00 5:15:42 PM




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS