bsp; star[loop].angle := star[loop].angle + Trunc(loop) / 50; // 改变星星的自转角度 star[loop].dist := star[loop].dist - 0.01; // 改变星星离中心的距离
{接着几行检查星星是否已经碰到了屏幕中心。 当星星碰到屏幕中心时,我们为它赋一个新颜色,然后往外移5个单位, 这颗星星将踏上它回归屏幕中心的旅程。}
If (star[loop].dist < 0.0) Then // 星星到达中心了么 Begin star[loop].dist := star[loop].dist + 5.0; // 往外移5个单位 star[loop].r := random(256); // 赋一个新红色分量 star[loop].g := random(256); // 赋一个新绿色分量 star[loop].b := random(256); // 赋一个新蓝色分量 End; End; End;
{ 现在我们添加监视键盘的代码。 下移到WinMain()。找到SwapBuffers(hDC)一行。 我们就在这一行后面增加键盘监视代码。 代码将检查T键是否已按下。 如果T键按下过,并且又放开了,if块内的代码将被执行。 如果twinkle为FALSE,他将变为TRUE。 反之亦然。只要T键按下, tp就变为TRUE。 这样处理可以防止如果您一直按着T键的话,块内的代码被反复执行。 } If (keys[ord(''''T'''')] And Not tp) Then // 是否T 键已按下并且 tp值为 FALSE Begin tp := TRUE; // 若是,将tp设为TRUE twinkle := Not twinkle; // 翻转 twinkle的值 End; { 下面的代码检查是否松开了T键。 若是,使 tp=FALSE。 除非tp的值为FALSE, 否则按着T键时什么也不会发生。所以这行代码很重要。 } If (Not keys[Ord(''''T'''')]) Then // T 键已松开了么? Begin tp := FALSE; // 若是 ,tp为 FALSE End; {余下的代码检查上、下方向键,向上翻页键或向下翻页键是否按下。} If (keys[VK_UP]) Then // 上方向键按下了么? tilt := tilt - 0.5; // 屏幕向上倾斜 If (keys[VK_DOWN]) Then // 下方向键按下了么? tilt := tilt + 0.5; // 屏幕向下倾斜 If (keys[VK_PRIOR]) Then // 向上翻页键按下了么 zoom := zoom - 0.2; // 缩小 If (keys[VK_NEXT]) Then // 向下翻页键按下了么? zoom := zoom + 0.2; // 放大 { 这一课我尽我所能来解释如何加载一个灰阶位图纹理, (使用混色)去掉它的背景色后,再给它上色,最后让它在3D场景中移动。 我已经向您展示了如何创建漂亮的颜色与动画效果。 实现原理是在原始位图上再重叠一份位图拷贝。 到现在为止,只要您很好的理解了我所教您的一切, 您应该已经能够毫无问题的制作您自己的3D Demo了。 所有的基础知识都已包括在内!}
//========myling :
//1-9课已经翻译完了,就象NEHE说的,基本的知识已经基本说完了
//我看了下后面的教程,好像是出自其他人之手,如果有好的例子,我会选择性的继
//续贴的,好累,睡一会:) ,下次见
上一页 [1] [2] [3] |