我好像好久没有更新过博客了,emmm……觉得没有什么值得分享的东西。。。拿一个之前的存货吧。记录一下我曾经玩过一个“吃鸡的游戏”。玩了几天的吃鸡游戏,开始对这个游戏不感冒,现在也觉得不如王者农药好玩。我属于佛系吃鸡,从落地拿上装备开始就躲在房间里不出门直到毒圈缩小。所以基本每次都会被毒圈给毒到。
我就突发奇想做了一个毒圈的功能,还有高倍。下面是正文:
先上图看看效果,主要是功能,至于美工嘛,哈哈一看就是出自程序猿手中的美工。
先看高倍镜的做法,原理很简单就是把相机的视角大小变化了一下,当点击右键视角变大的同时把高倍镜的UI显示出来(程序猿建模比PS丑很多,所以就用了图片,老夫也很想用模型呀,奈何丑呀!) 。
代码直接绑定到相机上。如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class beijing : MonoBehaviour {
public Image beijingpic;
private bool gaobeijing = false;
// Use this for initialization
void Start () {
beijingpic.gameObject.SetActive(false);
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(1) && !gaobeijing)
{
this.gameObject.GetComponent<Camera>().fieldOfView = 20;
beijingpic.gameObject.SetActive(true);
gaobeijing = !gaobeijing;
}
else if (Input.GetMouseButtonDown(1)&& gaobeijing)
{
this.gameObject.GetComponent<Camera>().fieldOfView = 60;
beijingpic.gameObject.SetActive(false);
gaobeijing = !gaobeijing;
}
}
}
然后就是毒圈的功能,我开始想着,让美术做一个半球形状里面套着一个半球形的模型,结果怎么都识别不了正确的collider。后来我就只用了一个圆柱,然后贴了一个劣质贴图,表示了一下那个是毒圈。
原理是触发器,如果在进入触发器的里面就是安全的,不在里面就不安全了,就要掉血。代码也是很简单,把代码绑定到触发器(毒圈模型)上就可以了。如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class chiji : MonoBehaviour {
public Image HPIMAGE;
private bool isnotsafe=false;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (isnotsafe)
{ HPIMAGE.fillAmount -= 0.001F; }
else
{
return;
}
}
//private void OnTriggerStay(Collider other)
//{
// if (other.name == "FPSController")
// {
// Debug.Log("安全");
// }
//}
private void OnTriggerEnter(Collider other)
{
if (other.name == "FPSController")
{
Debug.Log("安全");
isnotsafe = false;
}
}
private void OnTriggerExit(Collider other)
{
if (other.name == "FPSController")
{
Debug.Log("不安全");
isnotsafe = true;
}
}
}
都是仓促而写,大致实现了功能,其实还有很多需要精雕细琢的东西。只是一时兴趣拿来分享。不说了去吃鸡了!!!
标签:游戏,gaobeijing,void,private,other,开发,using,毒圈 From: https://blog.51cto.com/u_8378185/5991238