我在屏幕上獲得了一個對象。開始時它位於x = 0,y = 0,z = 0之後,它移動到不同的位置。我只是想確保這個物體不會移動到用戶看不到的位置(這是玩家的主角本身,我也不希望玩家能夠從他當前的位置返回,也不會繼續跟隨他)。如何在未通過設置分辨率的屏幕分辨率上獲取Gameobject位置
你能向我解釋我需要做什麼嗎?
我在屏幕上獲得了一個對象。開始時它位於x = 0,y = 0,z = 0之後,它移動到不同的位置。我只是想確保這個物體不會移動到用戶看不到的位置(這是玩家的主角本身,我也不希望玩家能夠從他當前的位置返回,也不會繼續跟隨他)。如何在未通過設置分辨率的屏幕分辨率上獲取Gameobject位置
你能向我解釋我需要做什麼嗎?
我認爲你問:
如果屏幕上的玩家人物的走動,你要坐在電腦的人能看到它始終。要做到這一點,你需要設置相機來跟蹤這個對象。
這裏有一些鏈接,可以讓你開始:
http://unity3d.com/support/documentation/Components/class-Camera.html
http://unity3d.com/support/documentation/ScriptReference/Camera.html
本教程有如何實現下面的玩家相機的例子。
http://unity3d.com/support/resources/tutorials/3d-platform-game.html
遊戲是2D在這裏有多大幫助? – 2011-03-22 23:43:52
以下是2D中的一個:http://unity3d.com/support/resources/tutorials/2d-gameplay-tutorial.html – Calvin 2011-03-22 23:59:18
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);
}
}
}
我是sorrry對於英文不好這裏是我嘗試做喜歡的遊戲超級馬里奧,如果他提前相機跟他一起去,如果他試圖回去,然後他就可以回去,但只是屏幕和那裏沒有從他通過的地方通過 – 2011-03-22 23:31:56
我想,你的意思是,你想要一個2D角色,只能到屏幕右側,他不能回到它前面訪問過的地方在屏幕的左側。是對的嗎? – 2013-08-02 15:50:55