接着上一章,我们在enemy节点下添加hp_bar的ProgressBar节点
并在enemy节点下添加head精灵节点,并设置头像
修改enemy节点,移除之前添加的Sprite属性
编辑enemy.ts脚本文件
const { ccclass, property } = cc._decorator @ccclass export default class NewClass extends cc.Component { @property(cc.Sprite) head: cc.Sprite = null @property(cc.ProgressBar) hp_bar: cc.ProgressBar = null //最大血量 max_hp: number = 10 //当前血量 hp: number = 10 start() { this.hp_bar.progress = this.hp / this.max_hp } /** * 当碰撞产生的时候调用 * @param {Collider} other 产生碰撞的另一个碰撞组件 * @param {Collider} self 产生碰撞的自身的碰撞组件 */ onCollisionEnter(other: cc.Collider, self: cc.Collider) { cc.log('碰撞', other.node.name) switch (other.node.name) { case 'bullet': this.hp-- this.hp_bar.progress = this.hp / this.max_hp break } } /** * 设置头像旋转角度 * @param angle */ setHeadAngle(angle: number) { this.head.node.angle = angle } // update (dt) {} }修改game_manager.ts中旋转敌人头像的代码
//设置敌人朝向 this.enemy.setHeadAngle(-degree)编辑enemy属性,给enemy脚本属性绑定节点
运行查看效果:
源码下载: