zoukankan      html  css  js  c++  java
  • (译)SDL.NET Surfaces 相关介绍

     

    (译)SDL.NET Surfaces 相关介绍

    翻译:Don

    http://don.cnblogs.com/

     

    Surfaces(平面)
    本教程教大家如何使用SDL.NETSurfaces在屏幕上渲染图形。(本教程的前提条件是认为您已经学会了“Hello World”哦!)
    目录
    1、
    引言
    2、
    功能

    2.1 Blit 
    2.2
    Primitive Drawing

    2.3颜色、透明度和Alpha混合   

    3、集合

    引言
    Surfaces (平面)类SDL.NET中用于描绘图形,实现的功能和SDL中的几乎一样。您可以new一个全新的Surfaces实例,或从内存中加载它,也可以是硬盘、数据流等。Surfaces类还提供其所属图形的相关属性,如:宽度、高度。Surfaces类还提供一些函数用于绘制图形

    功能
    下面是Surfaces的一些功能: 
    Blit
    快速Blitting是复制一个Surfaces到另外一个Surfaces的概念。在SDL.NET内,Blit函数是把给定的Surfaces复制到当前Surfaces上。destinationSurface.Blit(sourceSurface)该函数就是把sourceSurface绘制到目标Surfaces(0,0)位置。如果你看看SDL.NET的文档,你会注意到有大量函数用于Blitting一个Surfaces到另外的一个Surfaces上。

    // Draw the player onto the screen
    screen.Blit(player, playerLocation)

    新的SDL的用户会常犯这样的错误:在Blitting Surfaces后他们不刷新屏幕。这个刷新(update)动作是必需的,否则屏幕不会刷新新的Surfaces,改变后的内容也就不会被看到了。
    Primitive Drawing
    SDL.NET
    Surfacesl类调用的是SDLSDL_gfx库,这意味着它能实现非常多的功能,能绘制线、圆、多边形、三角形等等。在这些绘制方法里你可以觉得是否使用透明效果。
    色彩、透明和Alpha混合  
    当一个Surface复制到另外一个Surface上时候,Color Key指定了源Surface的透明色为该颜色值。如果在SDL.NETSurface上给TransparentColor设置了值,则该颜色即为透明色,当该Surface Blit到另外的一个Surface上时,源Surface对应的该颜色将会被忽略掉(即产生透明效果)。

    // Set the color key to magenta
    surface.TransparentColor = System.Drawing.Color.Magenta;
    surface.Transparent 
    = true;

    集合
    SurfaceCollectionss
    是用ListSurface的封装。 这样管理多个Surfaces将会非常容易。使用SurfaceCollectionss的优点是:灵活的同时加载一系列Surfaces,灵活的添加或移除一些Surfaces

    原文参见:http://cs-sdl.sourceforge.net/index.php/Surfaces#Color_Keys.2C_Transparency_and_Alpha_Blending.2C_Oh_My.21

  • 相关阅读:
    UVA 10970 Big Chocolate
    HBuilder 安装uviewui2.0
    域名访问配置支持ipv6
    SSIS学习视频(SQL Server 2008)
    碰到MySQL无法启动1067错误问题
    对存储过程进行加密和解密(SQL 2008/SQL 2012)
    脚本文件比较工具WinMerge
    通过SQL绘制杨辉三角
    通用分页存储过程(SQL Server 2005)
    重新组织和重新生成索引sp_RefreshIndex
  • 原文地址:https://www.cnblogs.com/Don/p/1287185.html
Copyright © 2011-2022 走看看