如何在未通过分辨率设置的屏幕分辨率上获取Gameobject位置

时间:2011-03-22 06:23:26

标签: c# unity3d

我在屏幕上找到了一个对象。在开始时它位于x = 0,y = 0,z = 0之后它移动到不同的位置。我只是想确保这个对象不会移动到用户看不到的位置(它是玩家主角本身,我既不希望玩家能够从当前位置返回,也不希望跟随他前进相机)。

你能解释一下我在这里需要做什么吗?

3 个答案:

答案 0 :(得分:0)

你在问:

如果屏幕上的玩家角色四处移动,您希望坐在电脑前的人能够始终看到它。为此,您需要设置相机以遵循此对象。

以下是一些可以帮助您入门的链接:

http://unity3d.com/support/documentation/Components/class-Camera.html

http://unity3d.com/support/documentation/ScriptReference/Camera.html

答案 1 :(得分:0)

本教程有一个如何实现跟随播放器的相机的示例。

http://unity3d.com/support/resources/tutorials/3d-platform-game.html

答案 2 :(得分:0)

using UnityEngine;
using System.Collections;

public class NewGameScript : MonoBehaviour 
{
    float t=0f;
    float v=20f;
    float dist;
    // Use this for initialization
    void Start ()
    {

    }

    void Update () 
    {

        if(Input.GetKeyUp("up"))
        {
            if(t<0.1)
            {
                t +=Time.deltaTime*0.07f;
            }
            dist=t*v*0.5f;
            gameObject.transform.position +=transform.forward*dist;                   
        }
        else if(Input.GetKeyUp("down"))
        {
            if(t>-0.1)
            {
                t -=Time.deltaTime*0.07f;
            }
            dist=t*v*0.5f;
            gameObject.transform.position +=transform.forward*dist;
        }   
        else if(Input.GetKey("left"))
        {   
            transform.Rotate(0,-0.9f*(dist+1), 0);
            gameObject.transform.position +=transform.forward*0.1f*(dist+1);
        }   
        else if(Input.GetKey("right"))
        {
            transform.Rotate( 0,0.9f*(dist+1),0);
            gameObject.transform.position +=transform.forward*0.1f*(dist+1);
        }
    }
}