clwn.net
当前位置:首页 >> unity5 rigiDBoDy2D >>

unity5 rigiDBoDy2D

楼楼我会了,是unity版本的问题,你把其中两句改成 if(Mathf.Abs(GetComponent().velocity.x) > maxSpeed) GetComponent().velocity = new Vector2(Mathf.Sign(GetComponent().velocity.x) * maxSpeed, GetComponent().velocity.y); 就可以了

固定旋转?不修改transform属性就不会选择 如果添加了rigidbody2d组件,把组件下面的Freeze Rotation选择相应的轴就可以固定

是rigidbody变量 未定义为Rigidbody类型,所以提示rigidbody无法访问velocity。你看的视频教程应该是unity4的吧。unity5里所有组件语法都规范话了,和其他组件一样,Rigidbody都要定义一个变量(Rigidbody rigidbody;),然后让该变量指向Rigidbod...

rigibody2d类需要先获取物体rigibody2d组件再调用velocity变量脚本绑定物体已经添加rigibody2d组件脚本改 void FixedUpdate() { if (h * GetComponent ().velocity.x aaa) GetComponent ().AddForce (Vector2 .right * h * bbb); }

那句话的意思是 transform.rigidbody2d 这样调用的已经过时了,该换为GetComponent() 去获取.你试试就知道了transform已经没有rigidbody这个属性了

是rigidbody变量 未定义为Rigidbody类型,所以提示rigidbody无法访问velocity。你看的视频教程应该是unity4的吧。unity5里所有组件语法都规范话了,和其他组件一样,Rigidbody都要定义一个变量(Rigidbody rigidbody;),

是unity版本的问题,你把其中两句改成 if(Mathf.Abs(GetComponent().velocity.x) > maxSpeed) GetComponent().velocity = new Vector2(Mathf.Sign(GetComponent().velocity.x) * maxSpeed, GetComponent().velocity.y); 就可以了。

using UnityEngine; using System.Collections; public class player : MonoBehaviour { void FixedUpdate() { rigidbody.AddForce (Vector3 .up *10); } } 试着写了一下,发现这个其实应该对的。 我想是你的工程其他某一个地方有错误造成编译器...

Unity本身是用的Box2d的普通重力算法,直接使用的话,上升速度和下降速度没有最大值,速度变化也是线性而不会像马里奥那样到跳到顶会稳定一会。 所以,要实现漂亮的跳跃曲线,要自己做重力算法,放弃Unity本身的重力。具体点 如果使用1、RigidBo...

Rigidbody组件确实没有启用和禁用。 重力设为0即可。

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com