diff --git a/assets/resources/game/heros/heath.prefab b/assets/resources/game/heros/heath.prefab index 82a031e6..3714e423 100644 --- a/assets/resources/game/heros/heath.prefab +++ b/assets/resources/game/heros/heath.prefab @@ -812,7 +812,7 @@ "bullet": true, "awakeOnLoad": true, "_group": 4, - "_type": 2, + "_type": 1, "_allowSleep": false, "_gravityScale": 0, "_linearDamping": 0, diff --git a/assets/resources/game/heros/magic.prefab b/assets/resources/game/heros/magic.prefab index daea68f2..33ac0d05 100644 --- a/assets/resources/game/heros/magic.prefab +++ b/assets/resources/game/heros/magic.prefab @@ -812,7 +812,7 @@ "bullet": true, "awakeOnLoad": true, "_group": 4, - "_type": 2, + "_type": 1, "_allowSleep": false, "_gravityScale": 0, "_linearDamping": 0, diff --git a/assets/resources/game/heros/war.prefab b/assets/resources/game/heros/war.prefab index 593a1341..af4b8026 100644 --- a/assets/resources/game/heros/war.prefab +++ b/assets/resources/game/heros/war.prefab @@ -843,10 +843,10 @@ "__id__": 41 }, "enabledContactListener": true, - "bullet": false, + "bullet": true, "awakeOnLoad": true, "_group": 4, - "_type": 2, + "_type": 1, "_allowSleep": false, "_gravityScale": 0, "_linearDamping": 0, diff --git a/assets/resources/game/monster/monster.prefab b/assets/resources/game/monster/monster.prefab index 30df22ce..2f45290a 100644 --- a/assets/resources/game/monster/monster.prefab +++ b/assets/resources/game/monster/monster.prefab @@ -843,10 +843,10 @@ "__id__": 41 }, "enabledContactListener": true, - "bullet": false, + "bullet": true, "awakeOnLoad": true, "_group": 2, - "_type": 2, + "_type": 1, "_allowSleep": false, "_gravityScale": 0, "_linearDamping": 0, diff --git a/assets/script/Main.ts b/assets/script/Main.ts index d9e8ff45..ef825604 100644 --- a/assets/script/Main.ts +++ b/assets/script/Main.ts @@ -25,9 +25,9 @@ export class Main extends Root { smc.initialize = ecs.getEntity(Initialize); smc.monsters = [ {profession:'m1',speed:50}, - {profession:'m2',speed:50}, - {profession:'m3',speed:50}, - {profession:'m4',speed:50}, + {profession:'m2',speed:60}, + {profession:'m3',speed:70}, + {profession:'m4',speed:80}, ] smc.heros = [ {profession:'war',speed:50}, diff --git a/assets/script/game/common/config/BoxSet.ts b/assets/script/game/common/config/BoxSet.ts index 1acaa51f..542f837d 100644 --- a/assets/script/game/common/config/BoxSet.ts +++ b/assets/script/game/common/config/BoxSet.ts @@ -12,4 +12,6 @@ export enum BoxSet { HERO = 4, MONSTER_SKILL = 8, HERO_SKILL = 16, + BOX_WIDTH = 64, + BOX_HEIGHT = 64 } \ No newline at end of file diff --git a/assets/script/game/heros/Hero.ts b/assets/script/game/heros/Hero.ts index 28df35a0..20b6cf4a 100644 --- a/assets/script/game/heros/Hero.ts +++ b/assets/script/game/heros/Hero.ts @@ -50,7 +50,7 @@ export class Hero extends ecs.Entity { this.add(mv); //移除全局列表 - smc.heros.splice(0,1) + // console.log(ecs.query(ecs.allOf(HeroViewComp))) } diff --git a/assets/script/game/heros/HeroViewComp.ts b/assets/script/game/heros/HeroViewComp.ts index bb003a25..c6eaeaf6 100644 --- a/assets/script/game/heros/HeroViewComp.ts +++ b/assets/script/game/heros/HeroViewComp.ts @@ -43,10 +43,10 @@ export class HeroViewComp extends CCComp { // console.log('hero Contact,selfCollider',selfCollider); switch (otherCollider.group) { case BoxSet.MONSTER: - console.log('hero coolider MONSTER '); + // console.log('hero coolider MONSTER '); break; case BoxSet.MONSTER_SKILL: - console.log('hero coolider MONSTER skill'); + // console.log('hero coolider MONSTER skill'); break; default: break; diff --git a/assets/script/game/map/view/MapViewComp.ts b/assets/script/game/map/view/MapViewComp.ts index 4d8a5379..60b1b8b0 100644 --- a/assets/script/game/map/view/MapViewComp.ts +++ b/assets/script/game/map/view/MapViewComp.ts @@ -1,4 +1,4 @@ -import { v3, Vec3, _decorator } from "cc"; +import { v3, Vec3, _decorator ,Prefab,instantiate} from "cc"; import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCComp"; import { smc } from "../../common/SingletonModuleComp"; @@ -56,19 +56,25 @@ export class MapViewComp extends CCComp { private addHero() { this.scene.node.active = true - // smc.monsters = ['war','magic','heath'] - // smc.heros = ['war','magic','heath'] if (smc.heros.length>0){ let hero = ecs.getEntity(Hero); hero.load(v3(-360,-60), smc.heros[0].profession); - + smc.heros.splice(0,1) } if (smc.monsters.length>0){ - let monster = ecs.getEntity(Monster); - monster.load(v3(360,-60),smc.monsters[0].speed); - monster.move(v3(0,-60)); - smc.monsters.splice(0,1) + var path = "game/monster/monster"; + var prefab: Prefab = oops.res.get(path, Prefab)!; + var node = instantiate(prefab); + var scene = smc.map.MapView.scene; + node.parent = scene.entityLayer!.node!; + node.setPosition(v3(360,-60)) + this.node.addChild(node); + + // let monster = ecs.getEntity(Monster); + // monster.load(v3(360,-60),smc.monsters[0].speed); + // monster.move(v3(0,-60)); + // smc.monsters.splice(0,1) } } diff --git a/assets/script/game/monster/Monster.ts b/assets/script/game/monster/Monster.ts index 6178d876..d3447b68 100644 --- a/assets/script/game/monster/Monster.ts +++ b/assets/script/game/monster/Monster.ts @@ -47,8 +47,9 @@ export class Monster extends ecs.Entity { var mv = node.getComponent(MonsterViewComp)!; mv.speed = speed; + mv.ospeed = speed; mv.Tpos = v3(0,0,0); - this.add(mv); + // this.add(mv); smc.monsters_in.push({name:mv.ent.name,eid:mv.ent.eid,pos_x:0}), // node.setScale(-1, 1, 1); oops.message.dispatchEvent("monster_load",this) diff --git a/assets/script/game/monster/MonsterViewComp.ts b/assets/script/game/monster/MonsterViewComp.ts index da39570a..789186de 100644 --- a/assets/script/game/monster/MonsterViewComp.ts +++ b/assets/script/game/monster/MonsterViewComp.ts @@ -23,7 +23,9 @@ export class MonsterViewComp extends CCComp { /** 角色动画 */ as: MonsterSpine = null!; speed: number = 100; + ospeed: number = 100; Tpos: Vec3 = v3(0,-60,0); + timer: number = 0; /** 视图层逻辑代码分离演示 */ start () { // 注册单个碰撞体的回调函数 @@ -43,13 +45,11 @@ export class MonsterViewComp extends CCComp { onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) { // 只在两个碰撞体开始接触时被调用一次 // console.log('monster Contact,otherCollider',otherCollider); - + this.speed = 0; + this.timer = 1; switch (otherCollider.group) { - case BoxSet.HERO: - console.log('monster coolider hero'); - break; case BoxSet.HERO_SKILL: - console.log('monster coolider hero skill'); + // console.log('monster coolider hero skill'); break; default: break; @@ -58,11 +58,17 @@ export class MonsterViewComp extends CCComp { onLoad() { this.as = this.getComponent(MonsterSpine); - - + console.log('this.ospeed:',this); } update(dt: number){ + if(this.timer > 0){ + this.timer -= dt; + if(this.timer <= 0){ + this.speed = this.ospeed; + this.timer = 0; + } + } if(this.node.position.x > -360){ this.move(dt); }