我有一个由两部分组成的枪(1个是手柄,2个是喷嘴)。我想在射击目标时旋转喷嘴。
我在fire功能中使用以下代码
gunNozzle.transform.Rotate(0, 0, 10);
增加旋转值,但结果不同。这是完整的功能:
void Update()
{
if (Input.GetKeyDown(KeyCode.P))
{
isOut = true;
}
if (isOut)
{
playerAnim.CrossFade("gunplays", 0.03f);
gunNozzle.transform.Rotate(0, 0, 10);
audioSource.Play();
GameObject cloneArrow = (GameObject)Instantiate(theArrow, thePos, Quaternion.identity);
cloneArrow.transform.position = thePos;
cloneArrow.transform.rotation = this.transform.rotation;
isOut = false;
}
}
这似乎很简单,但我被卡住了。
结果如下:
答案 0 :(得分:0)
你要改造的参数。旋转对我来说看起来不对。应该像
gunNozzle.transform.Rotate(Vector3.right * Time.deltaTime);
Nb:在我的例子中,矢量方向可能是错误的。
答案 1 :(得分:0)
尝试在Rotate()
中包含Space.Self或Space.World