上一篇我们讲了游戏中使用背景音乐和按钮音效,今天我们来讲解如何使用多张连续图片实现游戏中的动画。

首先下载连续的动画图: Joy.zip ,下载后解压文件。将整个Jay文件夹复制到【HelloWorld.XNAContent】项目中,

点开【HelloWorld.XNAContent】项目中【Jay】目录,注意这些图片的前半部分的名字是一样的,不一样的是后面带数字的部分。

image

 

打开Game1.cs,找到上一篇提到的【SoundEffect buttonPressedSound;//定义按钮音效】,在它下面定义一个列表来存放这些图片:

定义一个矩形来控制动画显示的位置和大小,由于动画是多张图片快速切换形成的,所以这个矩形只需要一个。

定义动画的当前显示的图片索引,也就是当前显示的图片是第几张加1

找到【LoadContent()】方法,在方法体内实例化图片列表并用一个for循环来加载图片纹理,这里有个规律当小于10的情况下,图片名称的最后是00i,大于等于10为0i。

同时初始化动画的位置和大小 X轴100,Y轴100,大小是200的正方形

接着,找到【Draw(GameTime gameTime)】,找到【spriteBatch.Draw(mouseCursor,mouseCursorPosition,Color.White);】在它的前面输入

来画出当前显示的图片,由于currentFrame是0,所以显示的是第一帧。目前还不会动。

image

下面我们让它动起来,找到【Update(GameTime gameTime)】方法,在方法体内加入

完整代码如下:

 

点击【启动】

image

运行效果如下。

最后推荐一个素材网站https://craftpix.net/,可以在里面下载到免费的游戏素材。



如果您对C#游戏开发感兴趣,可以扫下面二维码加入我们的QQ群来一起学习交流

原创文章,转载请注明本文链接地址(违者必究):C#开发跨平台游戏——游戏中使用多张图片实现动画