掉落的球体
来源:互联网 发布:淘宝的评论在哪里 编辑:程序博客网 时间:2024/04/27 21:02
#ifndef CBall_H_#define CBall_H_#pragma once#include "element.h"//枚举掉落小球的材质:金属球,篮球,乒乓球enum BallType{ BT_METALBALL , BT_BASKETBALL , BT_PINGBANGBALL };class CBall :public CElement{public:BallType mBallType;static int const m_Grivate = 100;float m_fStartVelocity;float m_fEndVelocity;float m_fCoefficient;//弹性碰撞系数public:CBall(BallType type);~CBall(void);void Logic(float fElapsedTime);};#endif
#include "Utility.h"#include "Ball.h"CBall::CBall(BallType type){mBallType = type;//将小球的类型记录下来m_fStartVelocity = 0.0f;m_fEndVelocity = 0.0f;}CBall::~CBall(void){}void CBall::Logic(float fElapsedTime){//---------------根据物理公式来更新小球的位置-----------------------------// Vt = V0+ a * tm_fEndVelocity = m_fStartVelocity + m_Grivate * fElapsedTime;//St = S0+ V0 * tm_vPos.y = m_vPos.y + m_fEndVelocity * fElapsedTime;//m_vPos.x += 30.0f *fElapsedTime;m_fStartVelocity = m_fEndVelocity;//上次计算得到的末速度 = 下次计算需要用到的初速度//--------------------更新矩形区域位置------------------------m_ScreenRect.left = (LONG)m_vPos.x;m_ScreenRect.top = (LONG)m_vPos.y;m_ScreenRect.right = m_ScreenRect.left+m_iWidth;m_ScreenRect.bottom = m_ScreenRect.top+m_iHeight;//判定是否碰撞地面,这个判断条件要注意://避免数据精度的损失导致球体不间断在地面弹动if( m_vPos.y > float(m_ClientRect.bottom - m_iHeight) ){switch(mBallType)//解析小球的类型,进行不同的处理{case BT_METALBALL: m_fCoefficient = 0.2f;//规定金属球的弹性碰撞系数break;case BT_BASKETBALL: m_fCoefficient = 0.5f;//规定篮球的弹性碰撞系数break;case BT_PINGBANGBALL: m_fCoefficient = 0.8f;//规定乒乓球的弹性碰撞系数break;}m_vPos.y = float(m_ClientRect.bottom - m_iHeight);m_fStartVelocity = m_fEndVelocity * m_fCoefficient * -1.0f ;}}
0 0
- 掉落的球体
- 情人节的掉落的图片
- 怪物的攻击 掉落金币
- 球体贴图的源代码
- 1010 球体的体积
- Android 摆动的球体
- Android 摆动的球体
- Android 摆动的球体
- 掉落的苹果——b2Body刚体
- Android开发:向下掉落的fragmentDialog设计
- 宝箱的随机掉落物品
- 怪物的生成 攻击和掉落金币
- 游戏中掉落效果的实现
- 可控的金币随机掉落算法
- 酷炫的钱包掉落动画
- Python 判断小球掉落的次数
- ios-自定义大头针的掉落效果
- 一个模拟简单的物品掉落的程序
- 物理公式
- jvm工作原理
- opencv程序十八:运动目标检测之两帧差分法
- 汇编语言基本指令
- Map按照Value值进行排序
- 掉落的球体
- Vim 多窗口操作
- 均值滤波和中值滤波的java代码
- POJ 2492 并查集
- 三足鼎立(杭电2552)
- 杭电2020
- 黑马程序员—java基础学习--异常(exception)
- 逗号表达式的数学解释
- ListView Item只能点击有文字的区域,空白处点击不了。