XNA 跳跃简单算法和代码

简介:

全局参数:

private  bool  _isJumping;
private  bool  _jumpKeyDown;
private  float  _jumpHeight = 100f;
private  TimeSpan _jumpTimeSpan = TimeSpan.FromMilliseconds(500);
private  double  _jumpStartTime;
private  float  _jumpStartPosition;

 Update中的代码:

_jumpKeyDown = Keyboard.GetState().IsKeyDown(Keys.Space);
             squarePosition.Y = DoJump(squarePosition.Y, gameTime);

 高度算法函数:

private  float  DoJump( float  velocityY, GameTime gameTime)
{
     if  (_jumpKeyDown && !_isJumping)
     {
         _isJumping = true ;
         _jumpStartTime = gameTime.TotalGameTime.TotalMilliseconds;
         _jumpStartPosition = velocityY;
     }
     if  (_isJumping)
     {
         var  jumpTime = gameTime.TotalGameTime.TotalMilliseconds - _jumpStartTime;
         var  topTime = _jumpTimeSpan.TotalMilliseconds / 2;
         if  (jumpTime < _jumpTimeSpan.TotalMilliseconds)
         {
             if  (jumpTime > topTime)
             {
                 velocityY =
                     _jumpStartPosition-_jumpHeight - Convert(-(jumpTime - topTime) * _jumpHeight / (_jumpTimeSpan.TotalMilliseconds - topTime));
             }
             else
             {
                 velocityY =_jumpStartPosition+ Convert(-( jumpTime)*_jumpHeight/topTime);
             }
         }
         else
         {
             _isJumping = false ;
             velocityY = _jumpStartPosition;
         }
 
     }
     return  velocityY;
}

 

 

 

本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2012/06/03/2533297.html,如需转载请自行联系原作者

相关文章
|
9月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
425 26
|
8月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
735 0
|
9月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
283 6
|
9月前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
228 0
|
9月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
2312 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
8月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
362 8
|
8月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
416 8
|
9月前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
403 14
|
9月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
599 2
|
9月前
|
canal 算法 vr&ar
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
【图像处理】基于电磁学优化算法的多阈值分割算法研究(Matlab代码实现)
254 1

热门文章

最新文章