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

做网站所用的技术郑州seo代理公司

做网站所用的技术,郑州seo代理公司,c 网站做死循环,phpweb 成品网站Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili IceAndFire_Controller.cs using System.Collections; using System.Coll…

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码


【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili

IceAndFire_Controller.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class IceAndFire_Controller : ThurderStrike_Controller
{protected override void OnTriggerEnter2D(Collider2D collision){base.OnTriggerEnter2D(collision);}
}

ThurderStrike_Controller.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ThurderStrike_Controller : MonoBehaviour
{protected virtual void OnTriggerEnter2D(Collider2D collision){if(collision.GetComponent<Enemy>()!= null){PlayerStats playerStats = PlayerManager.instance.player.GetComponent<PlayerStats>();EnemyStats enemyTarget = collision.GetComponent<EnemyStats>(); playerStats.DoMagicaDamage(enemyTarget);}}
}
IceAndFire_Effect.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;[CreateAssetMenu(fileName = "Ice and Fire effect", menuName = "Data/Item effect/Ice and Fire")]
public class IceAndFire_Effect : ItemEffect
{[SerializeField] private GameObject iceAndFirePrufab;[SerializeField] private float xVelocity;public override void ExecuteEffect(Transform _respawPosition){Player player = PlayerManager.instance.player;bool thirdAttack = player.GetComponent<Player>().primaryAttack.comboCounter == 2;//设置第三下平a产生火球if (thirdAttack)//设置第三下平a产生火球{GameObject newIceAndFire = Instantiate(iceAndFirePrufab, _respawPosition.position, player.transform.rotation);//使火球旋转方向与player对齐newIceAndFire.GetComponent<Rigidbody2D>().velocity = new Vector2(xVelocity*player.facingDir,0);//获得速度并使其朝向与player一致Destroy(newIceAndFire, 10);// 自动销毁10秒}}
}

ThurderStrike_Effect.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;[CreateAssetMenu(fileName = "Thurder strike effect", menuName = "Data/Item effect/Thurder strike")]
public class ThurderStrike_Effect : ItemEffect
{[SerializeField] private GameObject thurderStrikePrefab;public override void ExecuteEffect(Transform _enemyPosition){GameObject newThurderStrike = Instantiate(thurderStrikePrefab,_enemyPosition.position,Quaternion.identity);Destroy(newThurderStrike, 1);}
}
PlayerPrimaryAttack.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerPrimaryAttackState : PlayerState
{//p38 2.从ground进入public int comboCounter { get; private set; }private float lastTimeAttacked;//距离上一次攻击的时间private float comboWindow = 2;//可以间隔的时间public PlayerPrimaryAttackState(Player _player, PlayerStateMachine _stateMachine, string _animBoolName) : base(_player, _stateMachine, _animBoolName){}public override void Enter(){base.Enter();xInput = 0;//修复攻击乱转的问题if(comboCounter >2||Time.time>comboWindow+lastTimeAttacked)//当计数器超过2和间隔时间大于window时,进入第一个攻击动作{comboCounter = 0;}player.anim.SetInteger("ComboCounter", comboCounter);//设置animtor里的comboCounter#region 选择攻击方向float attackDir = player.facingDir;if(xInput != 0){attackDir = xInput;}#endregion//使其能改变攻击方向player.SetVelocity(player.attackMovement[comboCounter].x * attackDir, player.attackMovement[comboCounter].y);//给角色初速度,让角色在攻击触发时移动一点stateTimer = .1f;}public override void Exit(){base.Exit();player.StartCoroutine("BusyFor", .15f);comboCounter++;lastTimeAttacked = Time.time;}public override void Update(){base.Update();if(stateTimer<0){player.SetZeroVelocity();}//1.修改移动时攻击时后可以移动的BUG//2.但给了点时间模拟惯性可以动一点if (triggerCalled){stateMachine.ChangeState(player.idleState);}}
}
PlayerAnimationTrigger.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class playerAnimationTriggers : MonoBehaviour
{private Player player => GetComponentInParent<Player>();//获得夫组件上的实际存在的Player组件private void AnimationTrigger(){player.AnimationTrigger();}private void AttackTrigger(){Collider2D[] colliders = Physics2D.OverlapCircleAll(player.attackCheck.position, player.attackCheckRadius);//创建一个碰撞器组,保存所有圈所碰到的碰撞器//https://docs.unity3d.com/2022.3/Documentation/ScriptReference/Physics2D.OverlapCircleAll.htmlforeach(var hit in colliders)//https://blog.csdn.net/m0_52358030/article/details/121722077{if(hit.GetComponent<Enemy>()!=null){EnemyStats _target = hit.GetComponent<EnemyStats>();if(_target != null)//修复无敌人时触发DoDamge出错的bugplayer.stats.DoDamage(_target);//提供一个可以从player调用敌人受伤函数的入口,通过传入受伤敌人的组件if(Inventory.instance.GetEquipment(EquipmentType.Weapon) != null)Inventory.instance.GetEquipment(EquipmentType.Weapon).Effect(_target.transform);// hit.GetComponent<Enemy>().DamageImpact();}}}private void ThrowSword(){SkillManager.instance.sword.CreateSword();}
}

http://www.yidumall.com/news/27593.html

相关文章:

  • 网站开发那种语言如何做一个网站的seo
  • 东平网站建设seo搜索优化是什么意思
  • 做网站运营需要具备哪些能力名片seo什么意思
  • 摄影化妆艺术学校网站源码营销推广ppt
  • 替老外做网站域名是什么意思
  • wordpress 主题设置中文版seo外链在线提交工具
  • 怎么建设一个淘宝客网站百度识图搜索引擎
  • 武汉 网站建设产品推广ppt范例
  • 汽车网站建设公司哪家好百度灰色关键词排名技术
  • 西安学校网站制作查淘宝关键词排名软件
  • 每天4元代发广告南宁seo外包靠谱吗
  • 360百度网站怎么做社会新闻热点事件
  • 网页设计与制作项目教程html+css+java课后答案优化营商环境评价
  • seo提升排名福州seo兼职
  • 网站开发代码语言优化大师官方正版下载
  • 网站租用空间价格网络舆情
  • dede中英文企业网站怎么查百度竞价关键词价格
  • 小说网站80电子书怎么做西安seo顾问公司
  • 网站关键词优化怎么做网站排名优化课程
  • 动态网站的常用软件重庆百度地图
  • 微娱网络小程序代理如何提高搜索引擎优化
  • 长春网站制作招聘信息最近重大新闻
  • 深圳网站建设公司服务怎么做搜索推广渠道
  • 贵阳手机网站建设费用廊坊关键词快速排名
  • 网站制作比较好的制作公司小广告多的网站
  • 包小盒设计网站官网seo是什么服务
  • 做知识产权相关的网站宁波seo网络推广选哪家
  • 做店铺首页的网站seo关键词有哪些类型
  • 电商怎么做数据分析汕头seo推广外包
  • 网站做镜像的有什么用手机app开发