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

网站空间管理站中山好的网站建设公司

网站空间管理站,中山好的网站建设公司,wordpress修改图片,网络营销师资格证报名提交版本的时候一定注意,你改动的UI后一定要提交相关的文件,比如你的导出文件和UI图片,还有你改动的脚本文件。 .血量更新机制 立即更新 (UpdateBossHpImmediate()) // 计算血条相关数值 float hpPerBar (float)maxHp / m_BossHpNum; // 每…

提交版本的时候一定注意,你改动的UI后一定要提交相关的文件,比如你的导出文件和UI图片,还有你改动的脚本文件。
 

.血量更新机制

立即更新 (UpdateBossHpImmediate())

// 计算血条相关数值

float hpPerBar = (float)maxHp / m_BossHpNum; // 每一条血条代表的血量值float totalHpBars = currentHp / hpPerBar; // 当前血量总共占了几条血条var filledBars = (int)totalHpBars; // 当前完整填充的血条数float partialBarRatio = totalHpBars - filledBars; // 当前这一条血条填充的比例

举例说明

假设Boss最大血量为1000,当前血量为750:

  • hpPerBar = 1000 / 2 = 500 (每条血条代表500血量)
  • totalHpBars = 750 / 500 = 1.5 (占1.5条血条)
  • filledBars = (int)1.5 = 1 (完整填充1条血条)
  • partialBarRatio = 1.5 - 1 = 0.5 (第2条血条填充50%)

双血条动画机制

 

// 红色血条快速变化(0.1秒)
bossHpBarRed.TweenValue(partialBarRatio * 100, 0.1f);

  • 作用:立即响应用户操作,提供即时反馈
  • 动画时间:0.1秒,非常快速
  • 视觉效果:玩家攻击后立即看到血条变化

    白色血条背景
  • // 白色血条缓慢变化(0.8秒)
    bossHpBarWhite.TweenValue(partialBarRatio, 0.8f);

  • 作用:提供视觉缓冲,增强打击感
  • 动画时间:0.8秒,相对缓慢
  • 视觉效果:血条逐渐"回弹"到实际血量位置

  •  

阶段转换动画

 当Boss血量从高阶段降到低阶段时(如从2阶段降到1阶段),会触发特殊的动画效果:

if (filledBars < lastFilledBars) // 跨阶段
{// 1. 先快速清空白条(0.2秒)bossHpBarWhite.TweenValue(0, 0.2f);// 2. 延迟0.3秒后填充到满值testAniTimer1 = TimerMgr.Inst.AddTimerOnce(0.3f, NewMethod);// 3. 延迟0.6秒后设置到目标值testAniTimer2 = TimerMgr.Inst.AddTimerOnce(0.6f, () => {bossHpBarWhite.TweenValue(partialBarRatio, 0.8f);});
}

1.阶段检测

// 记录上一次的血条数
private float lastTotalHpBars = 0f;// 检测是否跨阶段
if (filledBars < lastFilledBars) // 从高阶段降到低阶段


2.跨阶段动画流程

// 步骤1:快速清空白条(0.2秒)
bossHpBarWhite.TweenValue(0, 0.2f);// 步骤2:延迟0.3秒后填充到满值(0.2秒)
testAniTimer1 = TimerMgr.Inst.AddTimerOnce(0.3f, () => {bossHpBarWhite.TweenValue(100, 0.2f);
});// 步骤3:延迟0.6秒后设置到目标值(0.8秒)
testAniTimer2 = TimerMgr.Inst.AddTimerOnce(0.6f, () => {bossHpBarWhite.TweenValue(partialBarRatio, 0.8f);
});
else
{// 同阶段内变化,白色血条缓慢更新bossHpBarWhite.TweenValue(partialBarRatio, 0.8f);
}

血量计算优化
整数计算避免精度问题

// 使用整数计算避免精度问题
int hpPerBar = maxHp / m_BossHpNum;
int totalHpBars = currentHp / hpPerBar;
if(currentHp % hpPerBar != 0) // 如果有余数
{totalHpBars += 1; // 向上取整
}
float partialBarRatio = 100 * (currentHp % hpPerBar) / (float)hpPerBar; // 当前血条的填充百分比




边界条件处理
 

// 如果当前血量已经满了,设置填充比例为1
if (currentHp >= maxHp)
{partialBarRatio = 1;
}// 如果血量为0,关闭页面
if(currentHp == 0)
{UIMgr.Inst.ClosePage(this);return;
}


阶段文本显示逻辑

// 设置阶段文本,当血条数为0时不显示文字
string phaseText = filledBars > 1 ? $"X{filledBars}" : "";
hpBarPhaseLabel.text = phaseText;
  • X2:表示还有2条血条(血量>50%)
  • X1:表示还有1条血条(血量>0%且≤50%)
  • 空字符串:血量归零时不显示

霸体条更新 
 

float batiPercentage = Mathf.Clamp01((float)currentBati / maxBati) * 100f;
BossbatiBar.TweenValue(batiPercentage, 0.3f);

Boss头像显示 (ShowBossHeadIcon())

  • 根据角色ID获取头像URL
  • 更新头像显示


    定时器管理
  • 脚本使用定时器来管理动画效果,并在页面关闭时清理
     
    public void RemoveTimer()
    {if (testAniTimer1 != -1){TimerMgr.Inst.RemoveTimer(testAniTimer1);testAniTimer1 = -1;}// ... 清理其他定时器
    }

页面生命周期管理
 

public override void UnShow()
{base.UnShow();RemoveTimer(); // 移除定时器,防止内存泄漏
}


 

http://www.dtcms.com/wzjs/821079.html

相关文章:

  • 商家版微信小程序怎么弄网站怎么做搜索引擎优化
  • 网站交互效果wordpress怎么关注站点
  • 上海市建设监理协会网站查询国内免费代理服务器
  • 网站备案是针对空间还是域名猎头公司的工作模式不包括
  • 郑州网站建设到诺然wordpress 树形页面
  • 网站建设原型图客户关系管理案例10个
  • 网站建设 怎么跑业务网站维护一般多久
  • 一起做网站注册地址网页设计指什么
  • 番禺南村网站建设绍兴市住房和城乡建设局官方网站
  • 女频做的最好的网站商河 网站建设
  • 西双版纳网站建设公司北京顺企网黄页企业
  • 山西智能网站建设制作自媒体网站开发
  • 专业企业网站建设多少钱服务上海 教育网站建设
  • 自己怎么建立网站能下短视频网站做牙
  • 如何做网站推广 求指点建自己的网站多少钱
  • 网站关键词优化推荐贵阳方舟网络6上海网站设计排名
  • 桂林做网站的公司哪家最好比较专业的app开发公司
  • 企业网上申报系统巩义网站优化技巧
  • 凤城市网站建设cms wordpress 区别
  • IT男网站建设周杰伦做的广告网站
  • 有没有做gif的专门网站wordpress主题logo
  • 淘宝网站建设策划案合肥网站建设需要多
  • 设计专业考研平面素材网站软装设计公司加盟
  • 深圳二维码网站建设淘宝客网站html
  • 网站跳出率计算做网站引入字体
  • 商用营销型网站建设python在线编程网址
  • 家电网站源码wordpress 防篡改
  • 新吴区建设局网站宁波高新区建设局网站
  • 网站开发技术支持互站源码交易平台
  • 做图素材网站开通会员哪个好3d动画制作软件手机版