XNA游戏开发学习笔记系列(一)

本xna学习笔记系列参考了学习XNA游戏编程(中文版),纯粹是个人学习XNA的笔记。。。
 
Initialize方法:
    Initialize方法用于初始化变量与对象。
LoadContent方法:
    在Initialize方法后,调用的就是LoadContent方法,该方法也会用在重新加载游戏图形内容时调用。
update方法:
    Update方法负责更新与游戏有关的一切事件,如对象在屏幕上的位置,分数,动画等。
Draw方法:
    Draw方法用于获取游戏中的所有对象,并在屏幕上绘制出来。
UnloadContent方法:
    UnloadContent方法用于在退出游戏时卸载资源和内容等。
 
在Xbox 360或windows phone游戏中,推出游戏是使用Back键的,在update方法中有两行代码告诉游戏按下了Back按钮。
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) 
     this.Exit();

 

添加并绘制精灵

存储图片的默认对象时Texture2D

先定义变量声明  Texture2D texture;

在LoadContent方法中加载 

texture= Content.Load<Texture2D>(@”Images/logo”);

在Draw方法中绘制:

spriteBatch.Begin();
            spriteBatch.Draw(texture,new Vector2((Window.ClientBounds.Width / 2) - (texture.Width / 2),(Window.ClientBounds.Height / 2) - (texture.Height / 2)),Color.White);   //绘制在屏幕的中心
            spriteBatch.End();

Draw方法的重载版本参数:

Texture            Texture2D       要绘制的纹理

Position            Vector2           图片的起始绘制位置

SourceRectangle  Rectangle   允许只绘制图片的一部分

Color                Color              绘制颜色

Rotation           float               旋转图片

Origin               Vector2          指定旋转中心点

Scale                float               改变图片比例,例如1.5f代表150%

Effects              SpriteEffects  设置水平或垂直

LayerDepth      float               允许指定那些图片在其他图片顶部,在0-1之间,0代表最前面(底),1代表最后面

 

设置图片透明的方法:

1.图片本身是透明的,可使用Paint.net这个工具来编辑图片,下载地址:http://www.getpaint.net

2.将希望透明的部分设置成紫红色(即255,0,255),xna会自动将这种颜色渲染成透明。

在update方法中实现图片移动

pos1.X += speed1;
            if (pos1.X > Window.ClientBounds.Width - texture.Width || pos1.X < 0)
                speed1 *= -1;
            pos2.Y += speed2;
            if (pos2.Y > Window.ClientBounds.Height - textureTran.Height || pos2.Y < 0)
                speed2 *= -1;

运行界面:

image

源代码下载地址:http://www.ctdisk.com/file/6690498

posted @ 2012-05-10 01:06  helloxyz  Views(209)  Comments(0Edit  收藏  举报