Visual C++游戏编程基础之摩擦力、加速度、重力

一、基本思路

1.假设小球在空中只受到重力作用,一开始给它一个水平的速度,就像是平抛运动一样;

2.当小球碰到地面时,受到摩擦力作用,分为x方向和y方向;

3.在摩擦力作用下,1.减少水平方向的速度,2减少y方向的速度,并把Vy取负,实现触底反弹的效果;

4.反弹过程Vy在重力作用下不断减小,Vx不变,直到Vy=0到达最高点,然后Vy在重力下为正,开始下落,因为Vy在摩擦力

   作用下减小了,所以这次反弹高度比第一次低,同样,Vx也在摩擦力作用下减小了,水平方向上移动的距离也变小了;

5.反复重复过程4,直到全为0;

二、效果

三、代码如下


#include "stdafx.h"
#include <stdio.h>

HINSTANCE hInst;
HBITMAP bg,ball;
HDC		hdc,mdc,bufdc;
HWND	hWnd;
DWORD	tPre,tNow,tCheck;
RECT	rect;
int		x=0,y=100,vx=8,vy=0;
int		gy=1,fx=-1,fy=-4;//fx表示摩擦力在x方向的负向加速度;fy表示摩擦力在y方向的负向加速的

ATOM				MyRegisterClass(HINSTANCE hInstance);
BOOL				InitInstance(HINSTANCE, int);
LRESULT CALLBACK	WndProc(HWND, UINT, WPARAM, LPARAM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值