//定义NPC对话数据
private string[] mData ={"你好,勇敢的冒险者","可以帮我一个忙吗?",
"为救你的星碟,我可以给你一些建议","你需要先去提升你的等级才能去拯救星碟","快去旁边的农场种白菜去吧"
,"好了,希望我的话可以对你有所帮助"};
//当前对话索引
private int index = 0;
//用于显示对话的GUI Text
public GUIText mText;
//是否显示对话标示贴图
private bool isTalk = false;
float a = 5f;
void Start()
{
mText.enabled = false ;
}
void Update()
{
//从角色位置向NPC发射一条经过鼠标位置的射线
Ray mRay = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit mHi;
//判断是否击中了NPC
if (Physics.Raycast(mRay, out mHi))
{
//如果击中了NPC
if (mHi.collider.gameObject.tag == "NPC1")
{
//进入对话状态
isTalk = true;
//允许绘制
if (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))
{
//绘制指定索引的对话文本
if (index < mData.Length)
{
mText.enabled = true;
mText.text = "NPC:" + mData[index];
index = index + 1;
}
else
{
index = 0;
mText.text = null;
}
}
}
}