Visual C++游戏编程基础之多背景循环动画

本文介绍了使用Visual C++进行游戏开发时,如何实现多背景的循环动画。通过设置不同背景的滚动速度,如天空、山峦和房屋,并结合代码示例,详细阐述了背景循环贴图的实现方法,包括天空的滚动、山峦和房屋的透明处理,最终展示动画效果。
摘要由CSDN通过智能技术生成

一、基本思路

1.现在有三张背景图:天空和草地、山峦、房屋;

2.天空在最远处,其次是草地和山峦(因为山峦在草地上),最后是房屋;

3.背景的循环速度是天空最慢、然后是山峦、最后是草地和房屋;

4.恐龙让它原地跑动,以num记录图号,每次到末尾号,再从第0号开始;

二、背景循环贴图

1.以天空为例,设x0表示背景图从左向右滚动右边需要切割的宽度,初值为0;

2.设背景图宽度640,裁剪的右边区域的左上角坐标为:(640-x0,0),把该区域贴到mdc以(0,0)为起点的坐标区域上;

3.然后把天空图剩下的部分贴到mdc中以(x0,0)为起点的坐标上;

4.假设每次x0增加5,每次贴图就实现了背景图的移动,直到x=640时,再重新设为0;

5.需要注意,山峦和房屋除了实现循环外,还要进行透明处理;

三、代码如下


#include "stdafx.h"

HINSTANCE hInst;
HBITMAP dra,bg[3];
HDC		hdc,mdc,bufdc;
HWND	hWnd;
DWORD	tPre,tNow;
int		x0=0,x1=0,x2=0,num=0;//x0、x1、x2三张背景图由左向右移动时所要切割的宽度;num表示图号

ATOM				MyRegisterClass(HI
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值