Hi again,
Im making a program in c++ using openGL (glut) but having a little trouble figuring out how i would increment along a certain path...
I have quite a few functions that require it like the one below, where i have the Point (contains x,y,z components) of the waypoint i need to head towards, and i have the angle to that waypoint from the current x,y,z position. Plus i can get the current position Point by just calling body->Get_Position(); if i need too.
But im just not sure how i would set the incrementation Point's x,y,z to send to the Set_Position function.
I would take a guess and say that if its walking and the angle rotates the view so its facing the waypoint, i would just increment the -z value of the current Point position by WALK_SPEED ? (WALK_SPEED is a #define)
but im not sure. Could anyone please give me some advice?
Thanks,
Code:void AI::Patrol() { body->set_Walking(true); body->set_Running(false); body->set_Still(false); Point increment; Point wp = Next_Waypoint(); float angle = Get_Position_Angle(wp); float range = Get_Range(wp); //How to get the incrementation in step? //increment.x = ? //increment.y = ? //increment.z = ? //WALK_SPEED ? //RUN_SPEED ? body->Set_Position(increment); body->Set_Yaw(angle); }
(i get the angle through this function, which i hope is correct)
Code:float AI::Get_Position_Angle(Point pos) { float angle; //Get the float angle between NPC position and parametre position angle = atan2(body->Get_Position().z-pos.z, body->Get_Position().x-pos.x)*(180 / PI); angle -= body->Get_Yaw(); return angle; }



LinkBack URL
About LinkBacks



