有这样的问题,但我在C#中找不到任何答案,所以这是我的问题:我想在一个对象的方向(在Unity 5中)旋转它面向的方向。我目前有这个代码来旋转我的播放器。
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour
{
private bool isLeft = false;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
if (isLeft == false)
{
transform.rotation = Quaternion.Euler(90, 45,0);
isLeft = true;
Debug.Log("Turned Right");
}
else
{
transform.rotation = Quaternion.Euler(90, -45, 0);
Debug.Log("Turned Left");
isLeft = false;
}
}
}
答案 0 :(得分:1)
虽然你的问题和描述有点含糊不清,但似乎你想沿着它面向的方向移动箭头,这是正确的吗?
确保游戏对象中的箭头指向前方。通过选择场景中的游戏对象,您可以看到前方是什么。向前将是蓝色箭头。
现在在代码中,为了向这个方向移动它,你可以用许多不同的方式移动它。施加力/平移/设定位置。我建议你尝试一下,看看外观和感觉最好。简单地改变它的立场:
add_filter( 'gettext', 'removing_specific_text_in_categories_page_titles', 10, 2 );
function removing_specific_text_in_categories_page_titles( $translated_text, $untranslated_text )
{
if ( 'Archive of :' == $untranslated_text ) {
$translated_text = '';
}
return $translated_text;
}
移动速度是浮点数,用于描述移动速度。如果将此代码放在Update()中,则需要Time.deltaTime。
答案 1 :(得分:0)
确定完全编辑答案,所以你有一个箭头,无论你想要它朝向你想要的方向移动它所面对的方向,当玩家点击它时它会转动45度。
简单的部分是转动它,基本上你会调用onclick()函数或在对象上设置碰撞器并写下一个简短的片段检查,当鼠标单击它时它等于你的arrow.name或collider。如果是这样,为Vector3设置一个新变量来存储新的旋转,只需将45添加到对象旋转,并将游戏对象的新旋转设置为等于新的旋转变量。