They stil have the sgn() function in BASIC dont they?
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object/classe constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially
if you want it to 'follow' but not overlap the target you need to test if the result of the move will be the same coordinates as the target and stop the move
Show differencesHistory of post edits
#4wodinoneeye
Posted 03 November 2012 - 10:33 PM
They stil have the sgn() function in BASIC dont they?
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object/classe constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object/classe constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially
#3wodinoneeye
Posted 03 November 2012 - 10:32 PM
They stil have the sgn() function in BASIC dont they?
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
as long as the target stays on the map you dont have to test for x y map boundry -- but if you have a case where target exits (like levels) that will have to be handled specially
#2wodinoneeye
Posted 03 November 2012 - 10:29 PM
They stil have the sgn() function in BASIC dont they?
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus Initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) ........... gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
Self.x = Self.x + dx ........... moves one step in direction towards target
Self.y = Self.y + dy
of course in those days there were no object constructs (records ...aack!)
if the way is blocked, you would test that first and would need something else to figure how to go around
#1wodinoneeye
Posted 03 November 2012 - 10:24 PM
They stil have the sgn() function dont they?
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
self.x = self.x + dx moves one step in direction towards target
self.y = self.y + dy
of course in those days there were no object constructs (records ...aack!)
of course if the way is blocked you would test that firts and would need something else to figure how to go around
I remember using that function to move an object towards anothers coordinates ages ago (pre PC days)
sign of Target minus initial - gives you a single step towards the target
dx = sgn( target.x - Self.x) gets the 1 0 -1 value from the difference of the coordinate values
dy = sgn( target.y - Self.y)
self.x = self.x + dx moves one step in direction towards target
self.y = self.y + dy
of course in those days there were no object constructs (records ...aack!)
of course if the way is blocked you would test that firts and would need something else to figure how to go around