如何在Delphi的form中实现绘制图片的移动,移动后清除原来的图片,比如说绘制植物大战僵尸的载入条上边的滚动的草坪球。使用 canvas.draw方法做不到吧?,,求解释。。总不会是创建一个TIMAGE,将图片放到TIMAGE里边。定时移动TIMAGE 的位置吧? 求有经验的人解释下。谢谢。求方法,求交流。一个僵尸那么多分解的图片组成,当僵尸向前移动的时候,原来位置的图片是怎么处理的呢?Delphi游戏

解决方案 »

  1.   

    内存里(非显示)维护一个大图片,每次根据位置显示一部分到form的可见控件
      

  2.   

    可以看《Delphi Direct X 图形与游戏程序设计》这一本,虽然说是讲dx,但是很多基本的游戏绘图原理及技巧都有讲到一些。
      

  3.   

    谢谢楼上各位了,昨天我这样试了下。我看到ONPAINT函数里执行两步操作INVALID 和 update 由于处理WM_ERASEBKGND消息时默认的是使用白色填充client,后来我重载此方法,改用黑色填充。基本上就改掉了刷新的时候出现白色闪烁的现象
      

  4.   

    你说的那个做游戏的叫精灵(spirit),一般这种不会用canvas实现,用Direct X吧。