不使用XNA或其他第三方库的2d Sprite动画

Wii*_*axx 7 c# animation 2d sprite

我想创建一个简单的游戏,类似于RPG Maker可以创建的游戏.我目前主要关注的是一个教程,它可以指导我如何在不使用XNA或任何其他特定库的情况下完成它.

理想的是一步一步的教程或一个易于理解的好例子.

我的目标是独立完成,并了解整个过程如何与彼此相关的动画元素相关.

我已经使用一个简单的教程在过去构建了一个简单的蛇游戏,但其中没有动画动画,这是我接下来要学习的主要内容.

编辑:

到目前为止,我发现的所有教程都使用第三方库.我确实遇到过这个链接,但我正在寻找不包含XNA的东西.

Tro*_*ord 15

有许多方法可以解决您所描述的主题.我将给出一些概述,然后希望提供一些资源,可以为您提供示例以帮助您入门.

基本上,基于精灵的动画围绕着一系列相似的图像,当按顺序显示时,会产生类似于翻书的动作外观.

诀窍是要了解你的精灵何时移动(因此应该是动画的) - 以及它何时静止(因此不应该是动画的).换句话说-假设你的游戏角色只应该移动,而你持有,,或者,您需要的时候按下这些键启动的一个并停止检测,这样就可以启动/停止相应的动画.

想象一下,为简单起见,你只有2个精灵.第一个(左下方)代表你的角色静止不动,第二个代表你的角色中间步骤(右下方):

马里奥

没有按下按钮,你只要不断显示的第一张图像.当按钮按下时,你的每两个之间切换x毫秒(这取决于你想如何快速的动画显示).

一个.gif动画是,可以在其中包含一系列简单的图像帧,其旨在被显示为一系列(并因此创建动画的假象)中的一个格式.如果你使用这种格式创建你的精灵,你可以使用类似于本SO讨论中的代码,它提供了一些示例代码,用于如何使用C#动画动画.gif并控制其开始/停止.

或者,如果你想使用一个精灵文件(就像我上面提到的那样),你可以使用类似于这个CodeProject代码的东西,它专注于与Windows环境的GDI交互,以便提取并绘制一部分精灵到目标画布.通过重新绘制每x毫秒(如上所述),这可以提供相同的效果.

要记住以下几点:

您需要处理精灵的透明度(上面的Mario精灵,例如,具有透明背景) - 以便您的游戏环境的背景显示出来.如果使用GDI - 这一切都与你如何调用绘画方法有关.如果使用动画.gif - 要使用的方法取决于您在窗口中显示它的方式.

对于其他一些资源/示例/参考,请查看以下资源:

对于Sprite开发:

  • 我知道你在2013年发布了这个,但我要感谢你的解释和一些资源的链接!这正是我正在寻找的. (2认同)