   45 degree tile collision
  I'm making a sidescroller. I treat horizontal and verticle collision seperatley. What I do is see how far my sprite is in the tile, then move him up that amount in the tile, for tiles that are angled, like this  /  . It works when my sprite moves slow. However when I move fast he will fall right through it. It doesn't do this for the other tiles, no matter how fast he moves, but he falls through my diagonal tiles. Any ideas?   
  Through testing I cam across a little bit of info that may help you help me. It only misses collision when you hold jump. It doesn't do this for any other tile, just the angled 45 degree.   ;  It is possible that the step size of your character is too high - rather than just checking for collision at the current position, check for collision at multiple points from the last position to the current position.Need more info about your alogrithm to give a better answer.   ;  I do kind of check the points inbetween old x and y and new x and y. What I mean is if he moves verticly I check every y(1) and y(2) from old to new in increments of tile size. I however only use newx for those y points instead of along a line.and I do vice versa if he has moved horizontally.I could rewrtie it so it checks in increments of tilesize for the slope between old and new cords, I was just hoping that wouldn't be nessisary.Can you think of any dirty little cheap thing I could use?   ;  Did you try making it so when he is over such a tile he is lifted 1 pixel vertically for every pixel horizontally? Maybe he wont fall through then.   ;  thats pretty much how my code works. What I have now is he moves properly for one tile, then falls the distance of a tiles, climbs and imaginary tile(one thats not their), then drops again, this time to the bottome. So my code for making him move 45 degrees works. Its just theres some part where its mus get some messed up info and think hes somewhere he's not.elsif tileDrawn = 7007 then   %angled up right  if vertCollision = down then loopif temp not= 7007 then %if its not upright then    newy (1) += 1    temp := map (floor (newx (2) / TILESIZEX), floor (newy (1) / TILESIZEY))end ifexit when temp = 7007 end loop newy (1) := (newx (2) - (floor (newx (2) / TILESIZEX) * TILESIZEX)) + ((floor (y / TILESIZEY)) * TILESIZEY)  end if   end if   newy (2) := newy (1) + height   oldy (1) := newy (1)   oldy (2) := newy (2)   ;  okay I've kindof narrowed it down. even if i only move the sprite one pixel at a time horizontally he will still move up for one tile(properly), drop down a tile than move up once more(properly, but in the worng posisiton) before fallign down. If I move him up one pixel higher than he should be, so hes on the slope but one pixel higher, and I move him one pixel horizontally it wokrs perfectly. If I move him 2 pixels up I can move him 2 pixels horizontally, and so one like that. My problem seems to be that on of his cords are testing as a no tile, gravity's pulling him down, than part of hims in the tile, he moves properly, repeat and he falls through. SO what I need is to see if the last tile he collided with is the angled one, if it is than I need to see is he's dropped. If he has than I need ot move him back up howevermuch he fell and then do the tile collision. does any of that make sence?   