《游戏编程入门》学习笔记3——编译器设置、透明色

来源:互联网 发布:魔兽1.12数据库 编辑:程序博客网 时间:2024/06/05 19:37
        初步计划先实现简单的精灵左右移动,动画用现成的素材。
       
        晚上鼓捣了两小时,很悲催的只解决了一个基本问题——如何编译一个程序并得到可在别人电脑上正常运行的exe文件。
        
常识:
    1,编译时提示找不到头文件怎么办?
    看下DirectX SDK安装了没有… 要是先安装的DirectX SDK再安装的VS2008,可以按书中附录的办法在编译器中设置各种文件路径解决。
    
    2,编译得到的exe文件别人没法打开?
    因为编译时用到很多动态链接库文件(dll文件)并没有整合到exe文件中来,别人的电脑又找不到同样的.dll的话,就无法运行。这时要采用静态编译。具体可以参考这篇文章:http://blog.csdn.net/aliwy/article/details/3962303  

        嗯,万事开头难,知易行难,实际动手总会碰到很多这样那样的问题的,要有充分的思想准备。
 
        接着来谈如何弄出个简单移动的精灵。
        首先细细回顾第六章“绘制并显示精灵”的内容。
        这里有一个关键的问题要先弄清楚,就是怎样实现绘制“透明的精灵”?
        计算机特别擅长处理的一定是四四方方的图片,就是所谓的矩形,因为矩形就是固定行数和列数的点阵、排列得规规矩矩的一团数据。所以要让计算机把某个矩形绘制在屏幕上,是很容易的事,肯定有函数可以拿来直接用。把一个小人画在一个框里,这个小框被在屏幕上喷来喷去,小人就移动了。但是有个大问题,这个小框内的颜色,同整个屏幕的大背景,不一定一致。假如小人是画在一小块玻璃上,然后在背景幕布上移动,这样效果就完美了!但是我这不开窍的脑子开始想,假如要用一组数据来表示一个形状不规则的小人,然后在屏幕上喷绘一个不规则图形,必然是一件异常费力不讨好的事,怎么办呢?实际不用那么死板,自然界除了12345678这些自然数外,还有0这个神奇的数字,当无形可以用有形表示时,人类的思维就往前迈进了一大步。所以有一个办法,就是引入“透明色”,这一块是“红”色,那一块是“蓝”色,剩下的都是“透明”色,将“透明色”填充小人在小框中的空余部分,一切就都解决了。 
       
        实际的应用中,有两种办法被用来处理“透明色”:
       
        第一种,colorkey,颜色键方法。
        就是指定bmp文件中的某一种颜色(比如粉红色)为透明。然后调用绘制函数时在参数注明,之后这种颜色就一直被当做透明色处理了。
       
        第二种,alpha通道。
        这是一种在图片文件中预先定义好的方法,比如可以在tga文件里头编辑设置。这个猪哥只是大致百度了下tga,alpha通道等关键字有所了解,还未深入掌握,因为猪哥觉得第一种更简单…我们的目标在前方,嗯,所以一些分支技术以后再研究。
原创粉丝点击