本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;
运行界面: