赞
踩
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FollowPlayer : MonoBehaviour {
private Transform player;
private Vector3 offsetPosition;
public float scrollSpeed = 1.0f;
void Start () {
player = GameObject.FindGameObjectWithTag("Player").transform; //利用标签查找的组件的方法
offsetPosition = transform.position - player.position;
transform.LookAt(player.position); //朝向主角的方法
}
void Update () {
transform.position = offsetPosition + player.position;
ScrollView();
}
void ScrollView() //处理视野的拉近和拉远效果
{
// print(Input.GetAxis("Mouse ScrollWheel"));//向后 返回负值(拉近视野)向前滑动 返回正值 (拉远视野)
distance = offsetPosition.magnitude; //magnitude 计算偏移的距离
distance += Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;
}
}
2. 处理点击任务面板出现和按钮功能的实现
(点击NPC出现任务面板,实现面板按钮的逻辑代码)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BarNPC : MonoBehaviour {
public TweenPosition questTween;
public bool isInTask = false; //表示是否在任务中
public int killCount = 0; //表示任务进度,已经杀死几只野狼
public UILabel desLabel;
public GameObject acceptBtnGo;
public GameObject okBtnGo;
public GameObject cancelBtnGo;
void OnMouseOver() //当鼠标位于这个collider之上,会在每一帧调用这个方法
{
if (Input.GetMouseButtonDown(0)) //当点击了老爷爷
{
if (isInTask)
{
ShowTaskProgress();
}
else
{
ShowTaskDes();
}
ShowQuest();
}
}
void ShowQuest()
{
questTween.gameObject.SetActive(true);
questTween.PlayForward();
}
void HideQuest()
{
questTween.PlayReverse();
questTween.gameObject.SetActive(false);
}
public void OnCloseBUtton()
{
HideQuest();
}
public void ShowTaskDes()
{
desLabel.text = "任务:\n 杀死了10只狼\n\n奖励:\n1000金币";
okBtnGo.SetActive(false);
acceptBtnGo.SetActive(true);
cancelBtnGo.SetActive(true);
}
public void ShowTaskProgress()
{
desLabel.text = "任务\n 你已经杀死了" + killCount + "\\n 10只狼\n\n奖励:\n1000金币";
okBtnGo.SetActive(true);
acceptBtnGo.SetActive(false);
cancelBtnGo.SetActive(false);
}
//任务系统 任务对话框上的按钮点击时间的处理
public void OnAcceptButtonClick()
{
ShowTaskProgress();
isInTask = true;//表示在任务中
}
public void OnOkButton()
{
if (killCount >= 10)
{ //完成任务
}
else
{//没有完成任务
}
}
public void OnCancelButton()
{
HideQuest();
}
}
3.鼠标管理事件,点击不同的物体显示的鼠标图标是不一样的
先声明点击不同物体的方法,设置成单例
另一个脚本调用
继承
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。