【发布时间】:2014-08-30 23:40:50
【问题描述】:
我正在使用我有限的知识、youtube 教程和谷歌上的故障排除在 Unity 中构建我的第一款游戏,尽管我对如何做到这一点有一些想法,但我似乎无法让它发挥作用。
对于较大的关卡之一,我需要加速来提高玩家在驾驶时的速度。这在很多赛车游戏中都可以看到,但为了澄清,我发现这个视频使用了这种类型的助推器https://www.youtube.com/watch?v=GQ1FLPBw1FE。
我尝试过制作一个脚本来删除我当前的移动脚本并用更快的移动脚本替换它,我还尝试过制作一个脚本来检测与玩家(标签)的碰撞并对其施加力。两者都不起作用我也一直在考虑使用时间刻度,但我不希望世界其他地方或计分器等加速,只是玩家。
这是我用于 playermovement 的基本脚本。
#pragma strict
function Start () {
}
var forwardSpeed:float = 35;
var turnSpeed:float = 1;
function FixedUpdate () {
var forwardMoveAmount=Input.GetAxis("Vertical")*forwardSpeed;
var turnAmount=Input.GetAxis("Horizontal")*turnSpeed;
transform.Rotate(0,turnAmount,0);
rigidbody.AddRelativeForce(0,0,-forwardMoveAmount);
}
并且由于玩家的车辆是可定制的,我还想进行升级,以将玩家的基础移动速度永久提高一定数量。我会通过输入一个 if(upgrade is active) 来做到这一点 将其速度提高 x; 这必须与助推器叠加
如果你们对我可以如何做这些事情中的一个或两个有任何想法,请提前分享并非常感谢!
【问题讨论】:
标签: unity3d unityscript