import { _decorator, Component, Node } from 'cc'; const { ccclass, property } = _decorator; @ccclass('Game') export class Game extends Component { @property({type:Node}) private enemySkillNode:Node=null; private enemyAttackType=0; private timer=null; start(){ this.timer=setInterval(()=>{ this.randEnemyAttack(); },100); } randEnemyAttack(){ this.enemyAttackType=Math.floor(Math.random()*3); let children=this.enemySkillNode.children; children.forEach(childNode=>{ if(childNode.name==this.enemyAttackType.toString()){ childNode.active=true; }else{ childNode.active=false; } }) } }请解释这段代码
时间: 2023-06-06 13:06:10 浏览: 82
java_Decorator.rar_decorator_decorator java
这是一段使用Cocos Creator游戏引擎开发的游戏代码,主要实现了敌人的攻击随机变化和技能节点的显示和隐藏。在代码中使用了ES6的语法及Cocos Creator中的属性装饰器@ccclass和@property。其中@ccclass('Game')用于定义Game类为Cocos Creator中的组件,@property({type:Node})用于定义enemySkillNode属性为节点类型。start()方法中使用了定时器setInterval,每隔100毫秒调用一次randEnemyAttack方法。randEnemyAttack方法中使用了Math库中的随机函数,产生一个0到2的整数作为敌人的攻击类型,再使用forEach循环遍历enemySkillNode节点下的子节点,根据攻击类型显示对应技能节点,隐藏其余技能节点。
阅读全文