XNA Game Studio4.0 Programming 随便读,随便记。
一、精灵和2D图形
1、什么是2D ?
2D可以理解为 two-Dimentionanl , 2-dimentional 的缩写。
意就是两维的,比如 数学中的 直角坐标系 所能描述的就是一个2D的面。
在计算机中,一般可指 显示屏幕 。
当你面对显示器时,显示器的左上角为 直角坐标系的原点 ,坐标为(0,0)
那么X轴呢,X轴是显示器的顶边,它的正方向就是你的右边。
而Y轴,则是显示器的左侧边,它的正方向是向下的。
2、什么是精灵 ?
简单地说,就是绘制在屏幕上的图片。
2D游戏说白了,基本上就是一大堆图片。
二、在2D屏幕上显示精灵
1、前面已经说了,游戏基本上就是在屏幕上绘制图片。那么我们就开始吧。
- 在新建的项目中,其Game1类中,注意看:
既然要画精灵,那么总要有去做这件事吧,
GraphicsDeviceManager graphics ;
这句话,就是说叫来一个跟显卡关系好的经理,准备让它画精灵。
- 然而,上面已经说了,2D游戏中有一大堆的精灵,那么让这个经理
那么多的精灵打交道,估计手忙脚乱了吧。那么是不是要选出个班长
组长什么的,协助管理班级呢?那是当然了。
看这句:
SpriteBatch spriteBatch ;
这句正是叫来了一个专门会管理精灵的,精灵长老。
- 有了经理,有了组长,没人上舞台表演,也不成戏吧!
下面表演者要上场了:
Texture2D texture ;
这句话,就是雇来了一个表演者。现在人终于到齐了。
闲话少续,观众等不及了,快开始吧。但是还有个问题,
那就是演员都得打扮打扮吧,要不上不了台啊!
- 下面要给演员化妆了:
先把化妆品拿来:
在解决方案中<Content>上右击 -〉添加现有项 -〉选择一件演出服(即图片)
开始上妆:
这是一个动作,要添加到相应的Game1类的方法中,即 LoadContent 方法:
texture=Content.Load<Texture2D>(“PictureName”);
- 精灵 粉墨登场吧!
上舞台,能过方法 Draw , 如下:
GraphicsDevice.Clear(Color.CornflowerBlue);
这一句,是让显卡先清场,因为上一场表演会有遗留的东西。
然后,再幕布拉上。
- 接下来,要让精灵组长开始叫人了:
spriteBatch.Begin();
- 接下来,就要真正叫人了:
spriteBatch.Draw( texture, //<-----texture是被叫的人
GraphicsDevice.ViewPort.Bounds, //<-------站位
Color.White) <------ 蒙纱颜色,此处是不蒙纱,直接露面。
- 人上完了,通知一声:
spriteBatch.End();
演员全部上场后,那么大戏正式开始吧!运行一下游戏,你会看到
它们已经站在台上了:
XNA Game Studio4.0 Programming 随便读,随便记。的更多相关文章
- OpenGL® ES 3.0 Programming Guide - Book Website
OpenGL® ES 3.0 Programming Guide - Book Website http://opengles-book.com sample codes in GitHub: htt ...
- XNA Game Studio 4.0 Programming 随便读,随便记 “Game Class”
XNA 中的 Game 类,是所有神奇事情发生的地方.几乎游戏中所有的事情都由它来操办. 它是项目中的王者,让我们深入窥探一番: 虚方法 Game 本身从众多其它地方继续了许多能力才能完成游戏中的事情 ...
- XNA Game Studio 4.0 Programming 随便读,随便记 “Rendering Text”
在游戏中,通常要与玩家交流,比如分数,提示等.这就需要一种新的精灵, 它就叫SpritFont.下面先将其增加到项目中: 项目 -----> 添加新项-----> Sprite Font ...
- Designing Evolvable Web API with ASP.NET 随便读,随便记 “The Internet,the World Wide Web,and HTTP”——HTTP
HTTP 我们将只聚焦在于与创建 Web APIs有关的部分. HTTP 是信息系统中的一个应用层协议,是Web的支柱. 其原先由 Berners-Lee, Roy Fielding 和 Henrik ...
- Designing Evolvable Web API with ASP.NET 随便读,随便记 “The Internet,the World Wide Web,and HTTP”
1982年,诞生了 Internet; 1989年,诞生了World Wide Web . "World Wide Web"的构造为主要由 三部分构成: resources 资源 ...
- OpenCV问题集锦,图片显示不出来,WaitKey(0),imread()不能读图片,未经处理的异常,等问题集合
昨天根据uc伯克利的人工图像分割文件.seg,显示图像的时候调用了OpenCV的库函数,图片都能用imwrite写好,但是imshow死活显示不出来. 今天早上发现原来是imshow()后面应该加上: ...
- python 实现 Fortran的读取10*0以及换行读问题
思路,用read来全部读取,然后替换带*的元素来解决.代码如下 import numpy as np import re inf = open('SF.usr') title = inf.readli ...
- 《OpenGL® ES™ 3.0 Programming Guide》读书笔记1 ----总览
OpenGL ES 3.0 Graphics Pipeline OpenGL ES 3.0 Vertex Shader Transform feedback: Additionally, OpenGL ...
- OSG学习笔记0——解决OSG读obj模型问题[转]
原文:https://blog.csdn.net/u011310341/article/details/51179948 #include "stdafx.h" #include& ...
随机推荐
- [iOS]开发者证书和描述文件的作用
先说下证书吧. 然后是描述文件
- 8、双向一对多的关联关系(等同于双向多对一。1的一方有对n的一方的集合的引用,同时n的一方有对1的一方的引用)
双向一对多关联关系 “双向一对多关联关系”等同于“双向多对一关联关系”:1的一方有对n的一方的集合的引用,同时n的一方有对1的一方的引用. 还是用客户Customer和订单Order来解释: “一对多 ...
- mysqldump常用于MySQL数据库逻辑备份
mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...
- Fucking "pkg-config not found"
If you got pkg-config not found error in gnu auto tools then, you must install the related librarys ...
- 一位ACM过来人的心得(转)
励志下! 刻苦的训练我打算最后稍微提一下.主要说后者:什么是有效地训练? 我想说下我的理解.很多ACMer入门的时候,都被告知:要多做题,做个500多道就变牛了.其实,这既不是充分条件.也不会是必要条 ...
- MyBatis 实践 -配置
MyBatis 实践 标签: Java与存储 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: pro ...
- Qt之自定义界面(实现无边框、可移动)
简述 UI设计是指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性.有品位,还要让软件的操作变得舒适简单.自由,充分体现软件的定位和特点. 爱美之心人皆有之.其实软件 ...
- UVa 10129 Play On Words【欧拉道路 并查集 】
题意:给出n个单词,问这n个单词能否首尾接龙,即能否构成欧拉道路 按照紫书上的思路:用并查集来做,取每一个单词的第一个字母,和最后一个字母进行并查集的操作 但这道题目是欧拉道路(下面摘自http:// ...
- 如何在Android应用中加入广告
转载自:http://mobile.51cto.com/aprogram-387527.htm 目前我自己的一款小程序中正进行到加入广告阶段,BAIDU了一下,找到如下好文章,非常有必要共享一下,故转 ...
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
有时候在同一个场景里你需要多个CCLayer.你可以参照以下代码生成这样的场景 +(id) scene { CCScene* scene = [CCScene node]; CCLayer* back ...