Fix movesTowardTest and turnedTowardTest to properly use object center (in case origin is not 0;0)

This commit is contained in:
Florian Rival
2019-10-05 14:16:47 +01:00
parent 23987f63c7
commit 5aa32f0eca

View File

@@ -228,8 +228,8 @@ gdjs.evtTools.object.distanceTest = function(objectsLists1, objectsLists2, dista
gdjs.evtTools.object._movesToward = function(obj1, obj2, tolerance) {
if ( obj1.hasNoForces() ) return false;
var objAngle = Math.atan2(obj2.getY()+obj2.getCenterY() - (obj1.getY()+obj1.getCenterY()),
obj2.getX()+obj2.getCenterX() - (obj1.getX()+obj1.getCenterX()));
var objAngle = Math.atan2(obj2.getDrawableY()+obj2.getCenterY() - (obj1.getDrawableY()+obj1.getCenterY()),
obj2.getDrawableX()+obj2.getCenterX() - (obj1.getDrawableX()+obj1.getCenterX()));
objAngle *= 180/3.14159;
return Math.abs(gdjs.evtTools.common.angleDifference(obj1.getAverageForce().getAngle(), objAngle)) <= tolerance/2;
@@ -241,8 +241,8 @@ gdjs.evtTools.object.movesTowardTest = function(objectsLists1, objectsLists2, to
};
gdjs.evtTools.object._turnedToward = function(obj1, obj2, tolerance) {
var objAngle = Math.atan2(obj2.getY()+obj2.getCenterY() - (obj1.getY()+obj1.getCenterY()),
obj2.getX()+obj2.getCenterX() - (obj1.getX()+obj1.getCenterX()));
var objAngle = Math.atan2(obj2.getDrawableY()+obj2.getCenterY() - (obj1.getDrawableY()+obj1.getCenterY()),
obj2.getDrawableX()+obj2.getCenterX() - (obj1.getDrawableX()+obj1.getCenterX()));
objAngle *= 180/3.14159;
return Math.abs(gdjs.evtTools.common.angleDifference(obj1.getAngle(), objAngle)) <= tolerance/2;