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

手机端网站开发框架网络推广的工作好做吗

手机端网站开发框架,网络推广的工作好做吗,定州网站建设,平面设计学院本次修改unity的新输入输出系统。本次修改unity需要重启,请先保存项目, 点击加号起名为MyCtrl, 点击加号设置为一轴的, 继续设置W键, 保存 生成自动脚本, 修改MyPlayer代码: using UnityEngine;…

本次修改unity的新输入输出系统。本次修改unity需要重启,请先保存项目,

点击加号起名为MyCtrl,

点击加号设置为一轴的,

继续设置W键,

保存

生成自动脚本,

修改MyPlayer代码:

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
    }
    private void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    private void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play)
            return;
        Anim.SetBool("IsRun", true);
    }
}

运行即可实现按键盘w/s键实现跑步松开即停止,

但只能实现动画,不能移动位置,

接下来添加跳跃:

修改MyPlayer代码:

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
}

运行即可实现按键盘 空格 键实现跳跃,

但只能实现动画,

接下来设置旋转,

修改MyPlayer代码:

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
}

继续添加新输入系统:


修改MyPlayer代码:

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
        action.MyCtrl.HoldRotate.performed += Hold;
        action.MyCtrl.HoldRotate.canceled += Hold;
    }
    void Hold(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if(obj.phase == InputActionPhase.Canceled)
            isHold = false;
        else
            isHold = true;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
}
接下来设置速度,

修改MyPlayer代码:

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
        action.MyCtrl.HoldRotate.performed += Hold;
        action.MyCtrl.HoldRotate.canceled += Hold;
        action.MyCtrl.Fast.started += FastSpeed;
        action.MyCtrl.Fast.performed += FastSpeed;
        action.MyCtrl.Fast.canceled += FastSpeed;
    }
    void FastSpeed(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B")){
            if (obj.phase == InputActionPhase.Canceled)
                spdFast = 1;
            else
                spdFast = 0;
        }
    }
    void Hold(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if(obj.phase == InputActionPhase.Canceled)
            isHold = false;
        else
            isHold = true;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
}
设置获取道具,

修改MyPlayer代码:

using System;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
        action.MyCtrl.HoldRotate.performed += Hold;
        action.MyCtrl.HoldRotate.canceled += Hold;
        action.MyCtrl.Fast.started += FastSpeed;
        action.MyCtrl.Fast.performed += FastSpeed;
        action.MyCtrl.Fast.canceled += FastSpeed;
        action.MyCtrl.GetTool.started += ClickNpcAndTool;
    }
    void ClickNpcAndTool(InputAction.CallbackContext obj){
        //后期拓展
    }

    void FastSpeed(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B")){
            if (obj.phase == InputActionPhase.Canceled)
                spdFast = 1;
            else
                spdFast = 0;
        }
    }
    void Hold(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if(obj.phase == InputActionPhase.Canceled)
            isHold = false;
        else
            isHold = true;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
}
修改MyPlayer代码:

--------------------------------------------------【添加移动效果】-------------------------------------------------------

using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        SetInput();
        //添加角色控制器
        contro = GetComponent<CharacterController>();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
        action.MyCtrl.HoldRotate.performed += Hold;
        action.MyCtrl.HoldRotate.canceled += Hold;
        action.MyCtrl.Fast.started += FastSpeed;
        action.MyCtrl.Fast.performed += FastSpeed;
        action.MyCtrl.Fast.canceled += FastSpeed;
        action.MyCtrl.GetTool.started += ClickNpcAndTool;
    }
    void ClickNpcAndTool(InputAction.CallbackContext obj){
        //后期拓展
    }
    void FastSpeed(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B")){
            if (obj.phase == InputActionPhase.Canceled)
                spdFast = 1;
            else
                spdFast = 0;
        }
    }
    void Hold(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if(obj.phase == InputActionPhase.Canceled)
            isHold = false;
        else
            isHold = true;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
    void Ctrl() {
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Idle_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Idle_Fight")) {
            float f = action.MyCtrl.Move.ReadValue<float>();
            contro.Move(transform.forward * f * Time.deltaTime * spdFast * Spd);
            contro.Move(transform.up * -9.8f * Time.deltaTime);
            if (isHold)
                transform.Rotate(transform.up * rvalue * 0.3f);
        }
    }
    void Update(){
        if (GameManager.gameState != GameState.Play)
            return;
        Ctrl();
    }
}

在unity场景中对Player添加角色控制器,

运行即可实现移动,

设置拔剑,

设置攻击,

修改MyPlayer代码:

using System;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;//道具面板
    public Transform skillPanel;//技能面板
    //public BagPanel bag;//背包
    CharacterController contro;
    Controls action;
    float rvalue;
    float spdFast = 1;
    bool isHold;//握刀
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;
    new void Start(){
        base.Start();
        //添加角色控制器
        contro = GetComponent<CharacterController>();
        SetInput();
    }
    void SetInput(){
        action = new Controls();
        action.Enable();
        action.MyCtrl.Move.started += Move;
        action.MyCtrl.Move.performed += Move;
        action.MyCtrl.Move.canceled += StopMove;
        action.MyCtrl.Jump.started += Jump;
        action.MyCtrl.Rotate.started += Rotate;
        action.MyCtrl.Rotate.performed += Rotate;
        action.MyCtrl.HoldRotate.performed += Hold;
        action.MyCtrl.HoldRotate.canceled += Hold;
        action.MyCtrl.Fast.started += FastSpeed;
        action.MyCtrl.Fast.performed += FastSpeed;
        action.MyCtrl.Fast.canceled += FastSpeed;
        action.MyCtrl.GetTool.started += ClickNpcAndTool;
        action.MyAtt.SwordOut.started += SwordOut;
        action.MyAtt.Att.started += Attack;
    }
    void Attack(InputAction.CallbackContext obj){
        //if (GameManager.gameState != GameState.Play)
        //    return;
        //if (EventSystem.current.IsPointerOverGameObject())
        //    return;
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Idle_Fight")){
            Anim.SetInteger("AttackID", 1);
            Anim.SetTrigger("AttackTrigger");
        }
        else {
            int num = Anim.GetInteger("AttackID");
            if (num == 6)
                return;
            if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Attack_" + num))
                Anim.SetInteger("AttackID", num + 1);
        }
    }
    public void PlayerAttack(string hurt) {
        Collider[] cs = Physics.OverlapBox(attPoint.position, Vector3.one * 0.5f,
            attPoint.rotation, LayerMask.GetMask("Enemy"));
        if (cs.Length <= 0)
            return;
        int value = (int)(Att * Anim.GetInteger("AttackID") * 0.5f);
        foreach (Collider c in cs) {
            print(value);
        }
    }
    void SwordOut(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        Anim.SetBool("IsSwordOut",!Anim.GetBool("IsSwordOut"));
    }
    void ClickNpcAndTool(InputAction.CallbackContext obj){
        //后期拓展
    }
    void FastSpeed(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B")){
            if (obj.phase == InputActionPhase.Canceled)
                spdFast = 1;
            else
                spdFast = 0;
        }
    }
    void Hold(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        if(obj.phase == InputActionPhase.Canceled)
            isHold = false;
        else
            isHold = true;
    }
    void Rotate(InputAction.CallbackContext obj){
        if (GameManager.gameState != GameState.Play)
            return;
        rvalue = obj.ReadValue<float>();
    }
    void Jump(InputAction.CallbackContext obj){
        Anim.SetTrigger("JumpTrigger");
    }
    void StopMove(InputAction.CallbackContext context){
        Anim.SetBool("IsRun", false);
    }
    void Move(InputAction.CallbackContext context){
        if (GameManager.gameState != GameState.Play){
            return;
        }
        Anim.SetBool("IsRun", true);
    }
    void Ctrl() {
        if (Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Run_ver_B") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Idle_ver_A") ||
           Anim.GetCurrentAnimatorStateInfo(0).IsName("Idle_Fight")) {
            float f = action.MyCtrl.Move.ReadValue<float>();
            contro.Move(transform.forward * f * Time.deltaTime * spdFast * Spd);
            contro.Move(transform.up * -9.8f * Time.deltaTime);
            if (isHold)
                transform.Rotate(transform.up * rvalue * 0.3f);
        }
    }
    void Update(){
        if (GameManager.gameState != GameState.Play)
            return;
        Ctrl();
    }
}

运行及实现,

w/s键控制前行后退,空格跳跃,鼠标右键转动视角,按E键进入战斗状态,可以进行攻击,左键连续点击实现连击效果,再按E键进入非战斗状态,不能进行攻击,

End.

http://www.hkea.cn/news/540199/

相关文章:

  • 网站建设费的税率东莞公司网上推广
  • 上海设计公司排名前十宁波seo搜索优化费用
  • 如皋做网站公司com域名
  • 织梦做企业网站教程网络营销推广方案论文
  • 微信如何添加小程序二十条优化措施全文
  • 网站制作费可以做业务宣传费河北百度推广电话
  • wordpress日主题破解网站排名优化软件有哪些
  • 做公众号app 网站 app济南网站设计
  • 单位网站 单位网页 区别吗福州seo顾问
  • 专业做网站制作的公司百度地图网页版进入
  • 买卖网站域名骗局百度推广登陆
  • 石家庄大型网站设计公司手机怎么建网站
  • 政府网站图解怎么做百度关键词排名靠前
  • 天津做网站印标东莞网络推广排名
  • 设计一个外贸网站需要多少钱沈阳网站推广优化
  • 洗化行业做网站福州百度seo排名
  • 西安app网站开发项目腾讯域名注册官网
  • 网站开发的技术指标如何做网站搜索引擎优化
  • 建网站的要求老铁外链工具
  • wordpress有广告郑州seo优化大师
  • 企业网站推广的实验内容企业宣传网站
  • 如何开发高端市场宁波seo快速优化公司
  • 常用设计资源网站爱网站
  • 企业品牌网站营销关于seo的行业岗位有哪些
  • 群晖怎样做网站惠州网络营销
  • 怎么做网站内部链接的优化品牌营销推广代运营
  • 婚纱照网站制作搜索引擎优化搜索优化
  • 网站建设吉金手指专业13中国营销网站
  • 做销售在哪些网站注册好百度产品
  • dw做汽车网站seo排名工具提升流量