I have an animated-canvas class on PLaneT that does the double-buffering automatically - I&#39;m sure there are other similar solutions out there too (e.g., I think frtime has some similar classes).<br><br>Doug<br><br><div class="gmail_quote">
On Sat, Apr 11, 2009 at 1:27 PM, Robby Findler <span dir="ltr">&lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Nevertheless, double buffering means that you have to have the entire<br>
thing in a single buffer. Otherwise you&#39;ll draw the tunnel with no<br>
copter and then draw the copter on top, which leads to flicker.<br>
<br>
I don&#39;t know what the rest of your code does, but perhaps you don&#39;t<br>
really need those two bitmaps at all.<br>
<br>
But if you do, then you&#39;ll need a third bitmap.<br>
<font color="#888888"><br>
Robby<br>
</font><div><div></div><div class="h5"><br>
On Sat, Apr 11, 2009 at 2:22 PM, CHAMLY &lt;<a href="mailto:marc.chamly@gmail.com">marc.chamly@gmail.com</a>&gt; wrote:<br>
&gt; Yes, But I have 2 bitmaps, because both of my objects have to move<br>
&gt; independently, the tunnel has to be able to move to the left, without moving<br>
&gt; the Copter, and the Copter has to move Up and Down without moving the<br>
&gt; tunnel...<br>
&gt;<br>
&gt; Marc<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Apr 11, 2009, at 8:47 PM, Robby Findler wrote:<br>
&gt;<br>
&gt;&gt; Oh! I misread the code. You need to create a single bitmap containing<br>
&gt;&gt; the whole thing and then draw it. Don&#39;t draw two bitmaps (that&#39;s<br>
&gt;&gt; what&#39;s causing your flicker).<br>
&gt;&gt;<br>
&gt;&gt; Robby<br>
&gt;&gt;<br>
&gt;&gt; On Sat, Apr 11, 2009 at 12:59 PM, CHAMLY &lt;<a href="mailto:marc.chamly@gmail.com">marc.chamly@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Well I already put the &#39;no-autoclear  to the canvas, my BITMAP-DC-1<br>
&gt;&gt;&gt; (tunnel)<br>
&gt;&gt;&gt; doesn&#39;t flicker only my BITMAP-DC-2(Object) flickers, I will try to put<br>
&gt;&gt;&gt; the<br>
&gt;&gt;&gt; &#39;no-autoclear somewhere else, and see if it works.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thank you.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Apr 11, 2009, at 7:31 PM, Robby Findler wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Probably you want to pass the &#39;no-autoclear style to the canvas%<br>
&gt;&gt;&gt;&gt; object when you create it (I may have got the precise name wrong, but<br>
&gt;&gt;&gt;&gt; it is listed in the docs for the initialization arguments to canvas%).<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; But you also probably want to only recreate the bitmaps when their<br>
&gt;&gt;&gt;&gt; content changes, not every time the window is refreshed. In other<br>
&gt;&gt;&gt;&gt; words, all but the last line below should be somewhere else, not in<br>
&gt;&gt;&gt;&gt; the on-paint method.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Robby<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Sat, Apr 11, 2009 at 12:25 PM, CHAMLY &lt;<a href="mailto:marc.chamly@gmail.com">marc.chamly@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; HI!<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I am programming a game on scheme using #lang scheme/gui, the game is<br>
&gt;&gt;&gt;&gt;&gt;  made<br>
&gt;&gt;&gt;&gt;&gt; of:<br>
&gt;&gt;&gt;&gt;&gt; 1) an object (copter) that when you click moves up, otherwise it falls<br>
&gt;&gt;&gt;&gt;&gt; down,<br>
&gt;&gt;&gt;&gt;&gt; and does not move horizontaly.<br>
&gt;&gt;&gt;&gt;&gt; 2) a tunnel that moves from right to left, giving the impression that<br>
&gt;&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt; object is moving forward (moving to the right reaching the end of the<br>
&gt;&gt;&gt;&gt;&gt; tunnel).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I have a little problem with my double buffer,<br>
&gt;&gt;&gt;&gt;&gt; I&#39;m using two bitmaps one to draw the copter, and one to draw my tunnel<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Here is what i have in the paint-callback of my canvas:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;           (send BITMAP-DC-1 clear)              ; i move my tunnel<br>
&gt;&gt;&gt;&gt;&gt;           (send TUNNEL draw-tunnel1  BITMAP-DC-1  y1)<br>
&gt;&gt;&gt;&gt;&gt;           (send dc draw-bitmap BITMAP-1  (- x-canvas) 0 &#39;solid))<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;           (send BITMAP-DC-2 clear)     ; i move my copter<br>
&gt;&gt;&gt;&gt;&gt;           (send BITMAP-DC-2 draw-bitmap copterUp  0 0 &#39;solid)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;           (send dc draw-bitmap BITMAP-2  150 (send COPTER get-y-copter)<br>
&gt;&gt;&gt;&gt;&gt;  &#39;solid))<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The problem is that my copter still flickers, and i don&#39;t know why??<br>
&gt;&gt;&gt;&gt;&gt; (i don&#39;t draw my copter in BITMAP-DC-1 because afterwords i also use<br>
&gt;&gt;&gt;&gt;&gt; other<br>
&gt;&gt;&gt;&gt;&gt; bitmaps to draw my tunnel)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; thanks<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Marc<br>
&gt;&gt;&gt;&gt;&gt;          _________________________________________________<br>
&gt;&gt;&gt;&gt;&gt;  For list-related administrative tasks:<br>
&gt;&gt;&gt;&gt;&gt;  <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;<br>
&gt;<br>
_________________________________________________<br>
  For list-related administrative tasks:<br>
  <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
</div></div></blockquote></div><br>