首页 / C语言 / 教你利用c语言来实现游戏中人物的运动
教你利用c语言来实现游戏中人物的运动
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了教你利用c语言来实现游戏中人物的运动,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1956字,纯文字阅读大概需要3分钟。
内容图文
IDE :vs2012
我们需要用到头文件<graphics.h>,而在vs中要用到这个头文件则需要下载EasyX图形库
下载方法如下:
https://www.cnblogs.com/jiaoyu121/p/6965075.html
那么实现人物运动的原理是在短暂的时间内用连续变化的图像来达到一种运动的效果。
代码如下:
#include "stdafx.h"
#include<graphics.h>
#include<conio.h>
int main(void)
{
initgraph(127,48);
IMAGE img_human;
loadimage(&img_human,"D:\\吕秀才.png");
int i;
while(1)
{
for(i=0;i<4;i++)
{
putimage(0,0,31,46,&img_human,i*31,0);
Sleep(100);
}
}
_getch();
closegraph();
return 0;
}
素材图片如下:
其中有两个函数loadimage()和putimage用来实现这一功能。
其中loadimage的第一个参数是一个IMAGE类型变量的地址,第二个参数是图片所储存的位置。
那么接下来最重要的函数是putimage了,先来看一下它的原型:
void putimage(int dstX, int disY, int dstWidth, int dstHeight, IMAGE *pSrcImg, int srcX, int srcY)
到这里肯定有很多人晕了,这些到底是代表什么呢?
那么dst X和dst Y代表的是你要输出的图片的起点,也即图片的左上角的像素坐标。一般都是(0,0)
同理,disWidthX和disWidthY就是你要输出的图片的终点位置了,也即图片的右下角的像素坐标。
请看下图
上图中,4个向前的动作每个都被框在了一个矩形内。左上角的坐标和右下角的坐标正好可以确定一个矩形的大小,也即每张图片所占的像素大小。
我们把这张图分成四行,我们这个程序输出的是第一行前进的动作。所以我们的dstY和dstWidthY的值是这张图片宽的四分之一(单位为像素)。那么如何确定图片的宽呢?很简单,利用电脑里自带的画图软件即可,把鼠标放在上图中的1/4处位置,下面的栏里就会自动显示出该点的像素坐标。
接着看函数
第五个参数是IMAGE类型变量的地址,没什么好说的
那么srcX和srcY是什么意思呢?不是说左上角和右下角的点就能确定一张图片所占的像素大小么?
那么这两个函数的意思是你当前处理的图片的左上角的像素坐标,比如你接下来要显示第二张图片了,那么这个坐标就是第二张图片左上角的像素坐标(绝对坐标),然后在这张图片内,输出(这张图片内)从(0,0)点到右下角的点的图片(相对坐标)
接下来,用Sleep函数,每次执行的时候,设置合适的秒数,不能太快或者太慢。这样,图片就动起来了。
同理,下面的三种运动状态也可以通过修改坐标来实现了。
内容总结
以上是互联网集市为您收集整理的教你利用c语言来实现游戏中人物的运动全部内容,希望文章能够帮你解决教你利用c语言来实现游戏中人物的运动所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。