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

影响网站排名重要因素网站开发邮件

影响网站排名重要因素,网站开发邮件,个人网站开发用到的技术,广告设计与制作专业学什么课程1.实现简单的角色属性创建CharactorState脚本:挂载在敌人和玩家身上public float damage;//角色伤害public float maxHp;//最大生命[SerializeField] private float currentHealth;//当前生命void Start(){currentHealth maxHp;//初始化将当前生命设置为最大生命}p…

1.实现简单的角色属性

创建CharactorState脚本:

挂载在敌人和玩家身上

    public float damage;//角色伤害
public float maxHp;//最大生命

    [SerializeField] private float currentHealth;//当前生命

    void Start()
{
currentHealth = maxHp;//初始化将当前生命设置为最大生命
}

    public void TakeDamage(float _damage)//受到伤害调用
{
currentHealth -= _damage;

        if (currentHealth < 0)
{
Die();
}
}

    private void Die()//暂不给出具体的实现
{
throw new NotImplementedException();
}

Entity脚本:

public CharactorState state { get; private set; }//获取属性脚本

 state = GetComponent<CharactorState>();

PlayerAnimationTriggers 脚本:

    private void AttackTrigger()
{
Collider2D[] collider2Ds = Physics2D.OverlapCircleAll(player.attackCheck.position, player.attackCheckRadius);

        foreach(var hit in collider2Ds)
{
if(hit.GetComponent<Enemy>()!=null)
{
hit.GetComponent<Enemy>().Damage();
hit.GetComponent<Enemy>().state.TakeDamage(player.state.damage);//调用伤害函数
}
}
}

2.实现简单的角色状态脚本

在游戏里,玩家可能会装备装备,这些状态会影响玩家的属性,我们不妨创建一个State脚本来统一修改这些属性:

[System.Serializable]
public class State 
{
[SerializeField] private int baseValue;//每个状态的基础属性

    public  List<int> modifiers;//每个状态对应的修改器,即修改基础属性的数值


    public int  GetValue()//其它脚本获取属性
{
int finalValue = baseValue;

        foreach (int modifier in modifiers)//依次应用修改器
{
finalValue += modifier;
}

        return finalValue;
}


    public void AddModify(int _modifier)//添加修改器
{
modifiers.Add( _modifier );
}

    public void RemoveModify(int _modifier)//移除修改器
{
modifiers.RemoveAt( _modifier );
}
}

CharactorState脚本:

public State damage;//将伤害和最大生命都修改为状态,它们会因为各种因素而修改自己的基础值
public State maxHealth;

[SerializeField] private float currentHealth;

void Start()
{
currentHealth = maxHealth.GetValue();

    damage.AddModify(4);//调试用,成功调用则在原有攻击数值上加上4
}

PlayerAnimationTriggers 脚本:

    private void AttackTrigger()
{
Collider2D[] collider2Ds = Physics2D.OverlapCircleAll(player.attackCheck.position, player.attackCheckRadius);

        foreach(var hit in collider2Ds)
{
if(hit.GetComponent<Enemy>()!=null)
{
hit.GetComponent<Enemy>().Damage();
hit.GetComponent<Enemy>().state.TakeDamage(player.state.damage.GetValue());

                Debug.Log(player.state.damage.GetValue());//检测用
}
}
}

设定基础攻击为7,加上4后输出11

http://www.dtcms.com/a/543221.html

相关文章:

  • 建设网站怎么学中国工商注册网企业年报系统
  • 织梦装修公司网站模板it外包风险
  • 广州黄浦区建设局网站详情页设计方法
  • 优秀网站h5案例分享网站建设 技术指标
  • 网站整站开发视频教程做个网页大概多少钱
  • WordPress建站维护服务wordpress内存缓存无插件
  • 提卡的网站怎么做邢台做企业网站
  • 周口市建设职工培训中心网站网站注册收入
  • 建一个信息网站多少钱wordpress减少数据库查询
  • 腾讯做网站上传云南建设厅网站安全处
  • 网站设计建设合同是网站建设沙漠风
  • 移动电商网站广东政务服务网
  • 手机网站开发平台仿站 flash网站
  • 企业网站后台内容如何修改域名备案查询工具
  • 用php做图书管理网站在中国做采购在哪个网站找产品
  • 衡阳建设学校网站个人如何注册公司流程
  • 教育培训网站大全重庆做网络推广
  • 瑜伽网站模版网站开放培训
  • 云岭建设集团的网站浙江直播网站建设
  • 建手机号码的网站东莞医疗网站建设报价
  • 网站开发必学的技巧有哪些新媒体营销的优势
  • 哪里做网站最便宜游戏搬砖工作室加盟平台
  • 南宁定制网站制作网络公司南昌做网站软件
  • 两学一做 网站源码wordpress自带ajax失效
  • 做机械设备类网站用什么颜色好wordpress会员卡
  • 大学生兼职网站设计论文网页设计与制作课程评价内实
  • 网站管理助手哪个好用商丘网站建设方案
  • 网站里的地图定位怎么做的做网站通常用的软件
  • 我的网站打不开了做网站现在可以挣钱吗
  • 网站注册转化率第一设计