如何在Unity中js实现物体720度旋转的二段跳

Unity3D(43)
游戏里面的跳跃和二段跳真的不是很难,尤其是Unity3D直接提供力量模拟引擎更是可以用极其简短的代码完成这一切。
下面的程序将加一个对鼠标左键点击的监听,实现两个球的跳跃与二段跳的功能,主要思想还是处理球在跳跃的时候,应该是不允许再跳跃的,而在球落地之后才重新打开跳跃功能。二段跳则要判断两个状态。其实就是《【Cocos2dx】精灵触摸跳跃功能》()的思想照搬过来。
程序具体如下图所示:
场景布置如下图,非常简单,就2个球,加上刚体属性,1个平面,加一个Plane的tag,1个灯光,使其看起来没这么暗,同时再设置一个纯色材质赋予给这些组件。不懂的可以参考《【Unity3D】物体、材质的设置、物体位移与旋转》()。
对于跳跃脚本Jump.cs如下所示,关键是立个isJump的flag,防止用户用疯狂点鼠标,疯狂对球加一个向上的250的力。跳跃中收起,碰到再立起。Unity3D的碰撞事件可以参考《【Unity3D】利用物体碰撞检测、键盘输入处理完成平衡球游戏》()。
这里的力不知道怎么算的,反正Unity3D刚体默认的力量是1,不知道单位是什么,加一个250的向上的力才上升目测2-3个单位左右……
using UnityE
using System.C
public class Jump : MonoBehaviour
float force = 250;
bool isJump =
void Start()
void Update()
if (Input.GetMouseButtonDown(0))
if (!isJump)//如果还在跳跃中,则不重复执行
rigidbody.AddForce(Vector3.up * force);
// 碰撞开始
void OnCollisionEnter(Collision collision)
if (collision.collider.tag == &Plane&)//碰撞的是Plane
而对于二段跳的小球的脚本DoubleJump.cs如下所示,思想基本与跳跃脚本Jump.cs类似,只是flag变成2个:
using UnityE
using System.C
public class DoubleJump : MonoBehaviour
float force = 250;
bool isJump =
bool isDoubleJump =
void Start()
void Update()
if (Input.GetMouseButtonDown(0))
if (!isJump)//如果还在跳跃中,则不重复执行
rigidbody.AddForce(Vector3.up * force);
if (isDoubleJump)//判断是否在二段跳
//否则不能二段跳
isDoubleJump =
rigidbody.AddForce(Vector3.up * force);
// 碰撞开始
void OnCollisionEnter(Collision collision)
if (collision.collider.tag == &Plane&)//碰撞的是Plane
isDoubleJump =
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1111844次
积分:18312
积分:18312
排名:第477名
原创:708篇
评论:270条
先用屏幕录制软件Freez Screen Video Capture录制屏幕,再把得到的AVI,利用GIF Movie Gear转化成GIF拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(43ad-ua98).
重新安装浏览器,或使用别的浏览器

我要回帖

更多关于 java实现物体飘落 的文章

 

随机推荐