美文网首页
unity 代码库

unity 代码库

作者: qiaoqiao123 | 来源:发表于2019-04-17 17:51 被阅读0次
  1. 创建文件流的方法
 private static byte[] getImageByte(string imagePath)
    {
        //读取到文件
        FileStream files = new FileStream(imagePath, FileMode.Open);
        //新建比特流对象
        byte[] imgByte = new byte[files.Length];
        //将文件写入对应比特流对象
        files.Read(imgByte, 0, imgByte.Length);
        //关闭文件
        files.Close();
        //返回比特流的值
        return imgByte;
    }
  1. 读XML
using System.Xml; 
    private void AnalysisXml()
    {
        XmlDocument document = new XmlDocument();                 //实例化一个xml文档
        document.Load(Application.dataPath + "/Data/Dialog.xml"); //加载 XML 内容
        XmlElement rootEle = document.LastChild as XmlElement;    //根节点
        foreach (XmlElement ele in rootEle.ChildNodes)            //遍历根节点的所有子节点}
  1. enum 类型
public enum CommandType
{
    Say, //说话
    Bgm, //背景音
    Bg   //背景
}
  1. 加载场景
public void ReloadScene()
    {
   SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); //重载当前场景
    }
  1. ray
Ray mRay=Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit mHi;
//判断是否击中了NPC
if(Physics.Raycast(mRay,out mHi))

RaycastHit mHit;
        Ray mRay=mManager.Manager_Camera.ScreenPointToRay(Input.mousePosition);
        bool isHit=Physics.Raycast(mRay,out mHit);
        if(isHit && mHit.collider.gameObject.tag=="NPC")
  1. Rect
Rect mRect=new Rect((Screen.width-mTalkIcon.width)/2,
                Screen.height-mTalkIcon.height,
                mTalkIcon.width,mTalkIcon.height);
  1. 鼠标形状
mManager.Mangager_Cursor.SetCursor(Cursor.CursorType.Talk);
Cursor.visible=false;
mManager.Mangager_Cursor.SetCursor(Cursor.CursorType.Default);
  1. 距离
Transform NPC=mHit.collider.gameObject.transform;
Vector3 v1=NPC.position;
Vector3 v2=mManager.Player.position;
if(Vector3.Distance(v1,v2)<=2.0F && Input.GetMouseButtonDown(0))
  1. npc 朝向
//使v1,v2共面
v1=new Vector3(v1.x,0,v1.z);
v2=new Vector3(v2.x,0,v2.z);
//计算v1,v2连线的向量
Vector3 mDir=(v1-v2).normalized;
//计算NPC的旋转角度
float NpcAngle=getAngle(new Vector3(0,0,1),mDir);
float PlayerAngle=getAngle(new Vector3(0,0,1),mDir);
//将NPC旋转到面向主角
NPC.forward=mDir;
  1. GameManager
//获取游戏管理器
mManager=GameObject.Find("GameManager").GetComponent<GameManager>();

//设置游戏状态
mManager.SetGameState(GameState.InEvent);

  1. 集合 命名空间
using System.Collections.Generic;  //引用集合
using UnityEngine.SceneManagement; //引用命名空间
using UnityEngine.UI;              //引用UI

相关文章

网友评论

      本文标题:unity 代码库

      本文链接:https://www.haomeiwen.com/subject/icunwqtx.html