1 decade ago by TommyBs
I'm trying to work out how I can make an Entity stop moving on touch of another Entity and when one is day, move again.
Say I have 2 sides, blue and red, when entities from either side collide with each other, though should battle (receiveDamage etc) until 1 of them is dead. When 1 entity is dead, the other should start moving again until it comes into contact with another entity from the opposite team. To begin with I'd have each entity inherit from a base class for a particular side e.g
I've created my own distanceToType function that checks how close entities are together, but I'm still a bit stuck. Currently the structure of the red entity is like
Extra info:
What's weird is that my entities are bouncing as well even with bounciness set to 0. All entities collide ACTIVE as well
Anyone got any ideas?
Say I have 2 sides, blue and red, when entities from either side collide with each other, though should battle (receiveDamage etc) until 1 of them is dead. When 1 entity is dead, the other should start moving again until it comes into contact with another entity from the opposite team. To begin with I'd have each entity inherit from a base class for a particular side e.g
EntityFoo = EntityBlue.extend; EntityBar = EntityRed.extend;
I've created my own distanceToType function that checks how close entities are together, but I'm still a bit stuck. Currently the structure of the red entity is like
distanceToType: function(type,distance) { var close = false; var types = ig.game.getEntitiesByType(type); for(var i =0 ; i < types.length; i ++){ if(this.distanceTo(types[i]) < distance){ close = true; break; } } return close; }, collideWith:function(other,axis){ this.parent(other,axis); this.vel.x = 0; this.accel.x = 0; }, check:function(other){ if(this.touches(other)){ this.vel.x = 0; this.accel.x = 0; this.istouching = true; other.receiveDamage(1,this); }else{ this.istouching = false; } }, update: function () { this.parent(); if(!this.distanceToType(EntityBlue,8)){ this.accel.x = this.flip? -this.speed : this.speed; this.currentAnim = this.anims.walking; }else{ this.currentAnim = this.anims.idle; } }
Extra info:
What's weird is that my entities are bouncing as well even with bounciness set to 0. All entities collide ACTIVE as well
Anyone got any ideas?