【问题标题】:How to Get Gameobject position on screen resolution that not passed the resolution to set如何在未通过设置的分辨率的屏幕分辨率上获取游戏对象位置
【发布时间】:2011-03-22 06:23:25
【问题描述】:

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

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

【问题讨论】:

  • 我很抱歉这里的英语很差,我尝试像超级马里奥游戏一样,如果他推进相机和他一起走,如果他尝试回去,那么他可以回去,但只是在哪里屏幕,并没有从他经过的地方经过
  • 我想,你的意思是,你想要一个 2d 角色怎么只能去屏幕的右侧,而他永远无法回到它之前在左侧访问过的地方屏幕。对吗?

标签: c# unity3d


【解决方案1】:

认为你在问:

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

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

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

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

【讨论】:

    【解决方案2】:

    本教程有一个示例,说明如何实现跟随玩家的相机。

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

    【讨论】:

    【解决方案3】:
    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);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多