public bool updatePhysics(float elapsed) { // get the object position mPos.x = transform.position.x; mPos.y = transform.position.y; //------------------------------------------- mVel = mVel * (1.0f - GlobalVariable.PHYSICS_FRICTION * elapsed); float displacementX = mVel.x * elapsed; float displacementy = mVel.y * elapsed; matrix.setTranslationMat(displacementX, displacementy); mPos = matrix * mPos; /*Back up solution * Vector2 displacement = new Vector2(displacementX, displacementy); * mPos.x += displacement.x; * mPos.y += displacement.y;*/ //----------------------------------------------- tempPos.x = mPos.x; tempPos.y = mPos.y; transform.position = tempPos; // transform.position = new Vector2(transform.position.x + mVel.x, transform.position.y + mVel.y); return(true); }
public bool updatePhysics(float elapsed) { // get the object position mPos.x = transform.position.x; mPos.y = transform.position.y; //------------------------------------------- //Stores the displacement in a vector HVector2D displacement = mVel * elapsed; //Creates a new Matrix HMatrix2D transMatrix = new HMatrix2D(); //Set the translation matrix with displacement values transMatrix.setTranslationMat(displacement.x, displacement.y); //Updates original vector pos with translation matrix mPos = transMatrix * mPos; //Adds friction physics to the Velocity, so the ball slows down. mVel = mVel * GlobalVariable.PHYSICS_FRICTION; //----------------------------------------------- tempPos.x = mPos.x; tempPos.y = mPos.y; transform.position = tempPos; //transform.position = new Vector2(transform.position.x + mVel.x, transform.position.y + mVel.y); return(true); }
// Update is called once per frame void Update() { HVector2D vA = new HVector2D(); vA.x = 1; vA.y = 2; HVector2D vB = new HVector2D(5, 7); HVector2D vSum = vA + vB; float dp = vA.dotProduct(vB); HVector2D mPos = new HVector2D(10, 10); HVector2D displacement = new HVector2D(3, 4); HMatrix2D translationMatrix = new HMatrix2D(); translationMatrix.setTranslationMat(displacement.x, displacement.y); mPos = translationMatrix * mPos; }