少年听雨歌楼上,红烛昏罗帐.壮年听雨客舟中,江阔云低断雁叫西风. 而今听雨僧庐下,鬓已星星也! 悲欢离合总无情,一任阶前点滴到天明。

2004年8月2日星期一

贪吃蛇进度(4)

基本解决了动画闪烁的问题,其实就是修改了一点点代码。
注意DrawSnake这个函数。它的作用是绘制蛇的像素的。以前的作法是绘制所有经过计算的点,然后擦屏。这样自然有闪烁的问题。进一步分析蛇的移动,发现每个状态和前一个状态,只有第一个像素和最后一个像素有变化,于是重写代码,果然就没有了闪烁的问题。
void DrawSnake()
{
int i;
int j=0;
putpixel(me.dots[0].posx,me.dots[0].posy,DEFAULTSNAKECOLOR);
putpixel(me.dots[MAXSNAKELEN-1].posx,me.dots[MAXSNAKELEN-1].posy,DEFAULTBACKCOLOR);
}

没有评论: