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

网站创建需要多少钱池州建行网站

网站创建需要多少钱,池州建行网站,seo文章是什么,ppt模板怎么做 下载网站基于“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.w-s-a.com/news/136792/

相关文章:

  • 基于iview的网站开发模板小程序制作需要什么语言
  • 精美网站设计保定建行网站首页登录
  • 网站建设常见问题做网站保存什么格式最好
  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发