当前位置: 首页 > news >正文

向百度提交网站asp网站系统

向百度提交网站,asp网站系统,网页设计页面布局模板,微信商城小程序怎么自己开发基于“RPG项目01_场景及人物动画管理器”#xff0c;我们创建一个XML文档 在资源文件夹下创建一个文件夹#xff0c; 命名为Xml 将Xnl文档拖拽至文件夹中#xff0c; 再在文件夹的Manager下新建脚本LoadManager 写代码#xff1a; using System.Collections; using System…基于“RPG项目01_场景及人物动画管理器”我们创建一个XML文档 在资源文件夹下创建一个文件夹 命名为Xml 将Xnl文档拖拽至文件夹中 再在文件夹的Manager下新建脚本LoadManager 写代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class LoadManager  {     public static AudioClip LoadAudio(string str) {         AudioClip clip Resources.LoadAudioClip(Audio/ str);         return clip;     }     public static GameObject LoadGameObject(string str)     {         GameObject obj Resources.LoadGameObject(Prefab/ str);         return obj;     }     public static Sprite LoadSprite(string str)     {         Sprite sprite Resources.LoadSprite(Pic/ str);         return sprite;     }     public static TextAsset LoadXml(string str)     {         TextAsset t Resources.LoadTextAsset(Xml/ str);         return t;     } } 继续在Manager文件夹下创建脚本 新建GameManager脚本 using System.Collections.Generic; using System.Xml; using Unity.VisualScripting; using UnityEngine; public enum GameState { Play, Menu }; public class GameManager{     //当只需要一个的时候使用静态类     public static GameState gameState GameState.Play;      public static void Init()     {         //SetGoods();     }     public static T FindTypeT(Transform t, string n)     {         return t.Find(n).GetComponentT();     }     public static T ParseEnumT(string value)     {         return (T)System.Enum.Parse(typeof(T), value, true);     } } 继续在Manager文件夹下创建脚本 写代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainGame : MonoBehaviour {     public static Transform canvas;     private void Awake()     {         GameManager.Init();         canvas transform;     } } 再在Scripts脚本文件夹下新建文件夹命名为Living活着的生物 在Living创建基类People狼人也是人 using System.Collections; using System.Collections.Generic; using UnityEngine; public class People : MonoBehaviour{      } 再创建两个子类 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MyPlayer : People {      } 第二个子类 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Enemy : People {      } 重新修改MainGame代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MainGame : MonoBehaviour {     public static Transform canvas;     public static MyPlayer player;     private void Awake()     {         GameManager.Init();         player GameObject.Find(Player).GetComponentMyPlayer();             canvas transform;     } } 接下来挂载脚本 再挂载人物脚本 新建脚本文件夹Data 新建脚本DataObject 写代码数据类为角色提供数据 using System.Collections; using System.Collections.Generic; using UnityEngine; public class DataObject : MonoBehaviour  {      public string _name;     public int hp 100;     public int mp 100;     public int hpMax 100;     public int mpMax 100;     public int lv;     [Header(速度)]     public float spd 3;     [Header(攻击)]     public int att;     [Header(防御)]     public int def;     [Header(魔抗)]     public int mdf;     [Header(经验价值)]     public int expValue;     [Header(金钱价值)]     public int goldValue;     [Header(攻击力稳定值)]     public int randomAtk; } 将DataObject脚本挂载到Player人物上 运行 在文件夹下创建SkillBase 写代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; public enum SkillType { Up, Magic, Physics }; public class SkillBase : MonoBehaviour {      } 修改People代码 using System.Collections.Generic; using UnityEngine; public class People : MonoBehaviour{     //等价知识点1 2     //1.public int Num { get; }     //------------------------------     //2.int num;     //  public int Num(){     //      return num;     //  }     public DataObject data;     public int Hp {         protected set {              data.hp value;         }         get {             return Mathf.Clamp(data.hp, 0, HpMax);         }     }     public int HpMax {         protected set {             data.hpMax value;         }         get {             return data.hpMax OffsetHp;         }     }     public int Mp     {         protected set         {             data.mp value;         }         get         {             return Mathf.Clamp(data.mp, 0, MpMax);         }     }     public int MpMax     {         protected set         {             data.mpMax value;         }         get         {             return data.mpMax OffsetMp;         }     }     public float Spd {         protected set {              data.spd value;         }         get {             return data.spd OffsetSpd;         }     }     public int Att     {         protected set         {             data.att value;         }         get         {             return (int)(data.att * GetRandomRate()) OffsetAtt;         }     }     public int Def     {         protected set         {             data.def value;         }         get         {             return data.def OffsetDef;         }     }     public int Mdf     {         protected set         {             data.mdf value;         }         get         {             return data.mdf OffsetMdf;         } }     public int lv     {         protected set data.lv value;         get data.lv;     }     public int Exp { set; get; }     public bool IsDeath { set; get; }     public People Target { get; set; }     public Animator Anim { get; set; } protected int OffsetHp { set; get; }     protected int OffsetMp { set; get; }     protected int OffsetSpd { set; get; }     protected int OffsetAtt { set; get; }     protected int OffsetDef { set; get; }     protected int OffsetMdf { set; get; } public Transform attPoint;     public delegate void Fun(People p);     protected event Fun Dead;     protected Dictionaryint, SkillBase skills new Dictionaryint, SkillBase(); #region 初始化     protected virtual void InitValue()     {         Anim GetComponentAnimator();         data GetComponentDataObject();         Dead Death;     }     protected virtual void InitSkill()     { }     #endregion #region 事件     public void AddEventHandle(Fun funback)     {         Dead funback;     }     public void RemoveEventHandle(Fun funback)     {         Dead - funback;     }     protected virtual void Death(People p)     {         IsDeath true;         Anim.SetTrigger(IsDeath);         p.Victory(this);         Invoke(Over, 5);     }     protected virtual void Victory(People p)     { }     protected void Over()     {         print(over);     }     #endregion #region 战斗伤害     protected float GetRandomRate()     {         return (Random.Range(-data.randomAtk, data.randomAtk 1) 100) * 0.01f;     } public virtual void BePhysicsHit(int value, People p)     {         if (IsDeath)         {             return;         }         Hp - value - Def;         UpdateUI();         if (Hp 0)         {             Dead(p);         }     }     public virtual void BeMagicHit(int value, People p)     {         if (IsDeath)         {             return;         }         Hp - value - Mdf;         UpdateUI();         if (Hp 0)         {             Dead(p);         }     }     #endregion #region Hp/Mp     public virtual void AddHp(int value)     {         Hp value;         UpdateUI();     }     public virtual void AddMp(int value)     {         Mp value;         UpdateUI();     } public float GetHpRation()     {         return (float)Hp / HpMax;     }     #endregion     protected void Start()     {         InitSkill();         InitValue();     }     protected virtual void UpdateUI()     { } } 知识点Image的冷却填充作用 创建两个Image父子物体 将父物体放置一个图片 对子物体添加一个半透明画面 调节子物体颜色及半透明度 类型选择为填充Fill 调节即可制作冷却 知识点结束可以把Image删了 修改MyPlayer脚本代码 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MyPlayer : People {     [Header(子类变量)]     public Transform toolPanel;     new void Start() {         base.Start();     }     private void Update()     {              } } 在Living脚本文件夹下新建脚本CameraCtrl using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraCtrl : MonoBehaviour {     public float dis;     public float height;     public float speed;     Transform target;     Vector3 targetPos;     // Start is called before the first frame update     void Start()     {         target MainGame.player.transform;     } // Update is called once per frame     void Update()     {         transform.LookAt(target.position Vector3.up * 1.5f);         targetPos target.forward * (-dis) target.up * height target.position;     }     private void LateUpdate()     {         transform.position Vector3.Lerp(transform.position, targetPos, speed);     } } 更新MyPlayer代码 再将CameraCtrl摄像机跟随代码挂载在Camera摄像机上 调节CameraCtrl数值后运行 如果不想运行时摄像机千里跟随就可以将角色的位置复制给摄像机 最后设置一下设摄像机的y轴调高一点 完成阶段代码
http://www.hkea.cn/news/14268196/

相关文章:

  • 首涂模板网站建设银行网站特点
  • 建设银行可以查房贷的网站官方网站撰写策划书
  • 网站搭建的注意事项商城微发布官网
  • 网站开发设计思想做外汇 虚拟网站
  • 宝安中心站Wordpress二次开发多少钱
  • 网站开发流程需要用到的语言网站代码设计
  • 网站流量增加php 网站开发360
  • 加大志愿服务网站建设整体网站开发
  • 建立外贸网站旅游宣传推广方案
  • 礼品册兑换 网站建设网站备案需要那些资料
  • 开发网站如何选需要注意什么问题wordpress狮子歌歌
  • aitt网站建设中小型教育网站开发
  • jsp servlet 网站实例网站开发微信授权登录
  • 成都有哪些比较做网站比较好的哪些软件可以做网站
  • 哪些网站可以做调查赚钱云主机怎么安装网站
  • html网页设计模板免费下载seo优化包括什么
  • 怎么做家庭网站天津高端品牌网站建设
  • 免费自己建立网站互联科技 行业网站
  • 学院网站建设管理规章制度深圳光明区
  • 怎么找做网站平台公司微网站入口
  • 自己做网站上传视频专业沈阳网站建设
  • 网站备案没座机做网站一般几个步骤
  • 广州网站改版哪家好美容院顾客管理系统软件
  • 盗版小说网站建设网站服务器怎么看是哪个厂家的
  • 公司网站无法收录手表购买网站
  • 建设银行河南分行网站模板建站和定制建站
  • readme.md做网站郑州城乡建设局官网
  • 域名网站备案管理系统wordpress 未分类
  • 网站建设域名怎么选择海飞丝网站建设中面临的技术问题_并提出可行的技术解决方案
  • 重庆深蓝科技网站开发win2008r2搭建php网站