美文网首页
关于怪物生成重叠

关于怪物生成重叠

作者: 沉麟 | 来源:发表于2020-01-13 16:35 被阅读0次

    我需要在某个怪物生成点,持续生成怪物并让他向前走,但是不确定一次生成几个,生成的位置固定,要避免都重叠在一起那么
    需要做一种定时生成的计时器,实时监控,如果我这次需要生成一个怪物,那么直接就生成出来,如果超过一个,下一个间隔一段时间生成,给前面的的怪物时间让他先走,避免重复。
    首先需要一个类型数组,把需要生成的怪物类型存起来(int数组),然后在调用生成方法的时候,先把需要生成的类型存进数组中,creaHero(type);其他地方调用此方法生成怪物,然后需要在开一个计时器,Laya.timer.frameLoop(5, this, this.onFrameUpdate.bind(this));5帧检测一次,声明一个变量createIntervalTime记录时间,如果createIntervalTime小于0并且数组中的元素大于或等于1,那么调用真正的生成方法一个,生成数组中最先放进去的怪物,重置时间,否则createIntervalTime-=5;

    private createIntervalTime: number = 0;
        private createCount: number[] = [];
    
    
        constructor() {
            Laya.timer.frameLoop(5, this, this.onFrameUpdate.bind(this));
        }
    
        public createHero(type: number) {//外部创建角色时调用此方法
            this.createCount.push(type);
            // return null;
        }
    
        public createInterval(type: number): Laya.Image {
            return null;;
        }
    
        onFrameUpdate() {
            if (this.createIntervalTime <= 0 && this.createCount.length >= 1) {
                this.createInterval(this.createCount.shift());
                this.createIntervalTime = 50;
            } else {
                this.createIntervalTime -= 5;
            }
    
    
        }
    

    相关文章

      网友评论

          本文标题:关于怪物生成重叠

          本文链接:https://www.haomeiwen.com/subject/lkqnactx.html