上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 39 下一页
摘要: 问题 你要绘制的三角形共享了很多顶点,如图5-7所示。 图5-7 可以从使用索引中受益的结构 如图5-7所示的八个三角形在使用TriangleList的情况下需要8*3 = 24个顶点,从这个图中可以看到实际上只有9个独立的顶点,所以其余15个顶点会浪费显卡的内存,带宽和处理能力。 解决方案 好的办法是将这9个独立顶点存储在数组中并将这个数组传递到显卡。然后创建一个包含24个数字的... 阅读全文
posted @ 2011-01-25 09:17 AlexCheng 阅读(518) 评论(0) 推荐(0)
摘要: 问题 你想绘制一个颜色漂亮的三角形并可以完全控制三角形上的颜色。 解决方案 你的显卡允许你指定一张图像,从这张图像可以采样想要的颜色。 这意味着你需要将一张2D图像导入到XNA项目中,并在绘制三角形之前将它传递到显卡。对每个顶点,你要指定2D图像的哪个位置对应顶点。 工作原理 首先将一张2D图像导入到项目中,如教程3-1所示。在LoadContent方法中将它链接到一个变量: myTexture... 阅读全文
posted @ 2011-01-25 09:07 AlexCheng 阅读(578) 评论(0) 推荐(0)
摘要: 目标: 1. 安全:代码完成所需的功能之余,不要产生负作用,即要稳定可靠。 2. 易读: 类、实例、成员变量、成员函数的命名一目了然 3. 美观: 尽量统一项目组内人员的编程风格。 第一部分:命名 1. 命名原则 1) 所有的函数(变量/类/文件名)应该代表其实际的作用,应该使用有意义的单词或多个词组合,但不要使用人名、项目组名。 2) 所有的函数(变量/类名)一律使用英文。 3)... 阅读全文
posted @ 2011-01-23 09:59 AlexCheng 阅读(220) 评论(0) 推荐(0)
摘要: 一、数据库文件命名 数据文件命名采用系统名+_+文件类型,比如系统名为ComSys,则数据库文件命名为ComSys_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为ComSys_database.mdf,ComSys_log.log。 二、数据库对象命名规范 数据库对象包括表、视图(查询)、存储过程... 阅读全文
posted @ 2011-01-23 09:57 AlexCheng 阅读(689) 评论(0) 推荐(0)
摘要: 1.通过OdbcConnection可以创建一个链接到csv文件的链接 2. 链接字符串的格式: "Driver={Microsoft Text Driver (*.txt;*.csv)};Dbq="+cvs文件的文件夹路径+" Extensions=asc,csv,tab,txt; Persist Security Info=False"; 创建以上连接后,可以直接使用D... 阅读全文
posted @ 2011-01-22 14:44 AlexCheng 阅读(750) 评论(0) 推荐(0)
摘要: 问题 你想定义一个3D几何结构并绘制到屏幕上,这个结构可以是由三角形,线或点组成。 解决方案 当绘制3D几何对象时,你首先需要使用primitives(图元)定义它的形状。Primitives (图元)是可以被XNA绘制的最基本的对象,最常被使用的图元是三角形。任何形状,包括圆,如果圆的数量足够多的话,都能用来表示三角形。XNA Framework可以将点,线、三角形作为图元绘制。 XNA允许你... 阅读全文
posted @ 2011-01-21 10:45 AlexCheng 阅读(768) 评论(0) 推荐(0)
摘要: 问题 你想检测光标是否在模型上。 解决方案 在XNA中,获取光标在屏幕上的2D位置是简单的。屏幕上的这个点对应3D空间中的一条射线Ray,如图4-28所示。 图4-28 2D光标对应3D空间的一条射线 因此,当你想检测光标在哪个模型上,需要检测射线与模型的碰撞,所以,这个教材会用到教程4-18的代码。 很有可能射线与多个模型相交,这个教程还会教你如何获取离屏幕最近的一个模型。... 阅读全文
posted @ 2011-01-21 10:40 AlexCheng 阅读(208) 评论(0) 推荐(0)
摘要: 问题 你想检测一根3D射线是否与模型发生碰撞,如果你想进行一个最高细节的碰撞检测这是必须的,可以作为教程4-11的拓展进行子弹是否与物体发生碰撞的高细节碰撞。如下一个教程所示,这可以用来检测鼠标是否在模型上。 而且,这个方法也可以用来进行模型之间的最高精度的检测,这是因为对应一条射线的每一个三角形的边缘可以用来进行与另一个模型的碰撞检测。 这个教程会处理最复杂的情况,允许模... 阅读全文
posted @ 2011-01-16 20:08 AlexCheng 阅读(646) 评论(0) 推荐(2)
摘要: 问题 当在地形上移动一个汽车模型时,使用教程4-2你可以调整车的高度,使用教程5-9你可以找到位于汽车下面的地形的高度。但是,如果你没有根据车下面的坡度正确使车身发生倾斜,那么在起伏不平的地形上效果看起来不会很好。 你想正确地放置和倾斜汽车模型使之可以匹配地形的起伏。 解决方案 这个问题可以分成四个部分: 首先,你想找到模型四个轮胎的最低顶点的位置。 其次,你想获取这四个顶... 阅读全文
posted @ 2011-01-16 19:49 AlexCheng 阅读(499) 评论(0) 推荐(0)
摘要: 问题 要让模型处理器可以将对象存储在模型中并传递到XNA项目,XNA提供了模型的Tag属性。从教程4-13,4-14和4-15中可以看到Tag属性对于存储一个相同类型的数组是很有用的,例如Vector3的数组或Triangle的数组。但很多情况中,你想传递多个对象,例如同时传递Vector3集合和模型的包围盒。 解决方案 定义一个自定义类,这个类存储所有你想传递的对象。在你的模型处理器中,创... 阅读全文
posted @ 2011-01-16 19:44 AlexCheng 阅读(292) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 39 下一页