转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
NeHe的opengl教程delphi版(9)----星星         ★★★★

NeHe的opengl教程delphi版(9)----星星

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2423 更新时间:2009/4/23 18:37:36
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] 


[系统软件]InstallShield Express for delphi制作安装程序定…  [常用软件]InstallShield Express制作Delphi数据库安装程序
[Delphi程序]为什么选择Delphi.Net ?  [Delphi程序]《关于VisiBroker For Delphi的使用》(4)
[Delphi程序]Delphi 程序员代码编写标准指南  [Delphi程序]转贴:Conversion to Delphi 6: Missing unit Pro…
[Delphi程序]Borland Delphi 9 的新特性  [Delphi程序]Delphi 键盘码表
[Delphi程序]Chuck Jazdzewski的离开意味着Delphi的终结吗?  [Delphi程序]Delphi Access violations 问题的解决之道
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台