第一主题很明了地放在了那里。问题是如何过渡到第二主题呢?按照一般的规则就是写一个连接部。可是这个连接部是怎么样的呢?
我现在所做的就是构思了一个很“暴力”的连接部。所谓暴力就是说很炫耀技巧的音群。而且很肖邦、李斯特式。
拿我平时的审美来说,最讨厌这种曲子,不过我还是要看看自己有没有能力去写一个李斯特的东西。
第二主题很昏暗,有一个很奇怪的转调。
少年听雨歌楼上,红烛昏罗帐.壮年听雨客舟中,江阔云低断雁叫西风. 而今听雨僧庐下,鬓已星星也! 悲欢离合总无情,一任阶前点滴到天明。
2004年8月12日星期四
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);
}
注意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);
}
订阅:
博文 (Atom)