If you're referring to the collision with the ground, and you are using physical response, then yes, the player is constantly colliding with the ground (and shaking).
It's not the view that's shaking. Its the player.
What i do to avoid ground collision shaking is this:
Collision>top side>ground>repeat
yes- Code: Select all
yvelocity=0;
PhysicalResponse(MOVE_EVENT_ACTOR_ONLY, USE_CALCULATED_MASS, 1.000000, 1.000000, 0.000000, 1.000000);
A physical response with an Final Event Multiplier of 0, with a yvelocity of 0 = _______(fill in the blank)!
This leaves only the xvelocity of the physical response to deal with.
The problem with tiles and clones is that ge includes the corner pixels in its collisions (most engines handle corner pixels differently). this means that walking on
top of a new tile also incurs collision with the
side of the new tile.
So two methods to this are: 1. use a solid ground actor, not tiles or clones
or2. use a repeating colllision that gives you the effect you want every time. If you use a non repeating collision, there will be a difference between the frames where collision occurs and the frames where they don't (or a difference between when the response actually corrects velocity and when it doesn't need to.) If you want things to be smooth, they need to be constant.
The other things is - remember my perfect collision demo?(yeah, i know, not so perfect).
Well the main point i made there is that a shapechanging sprite will jiggle the physical response around. Try these methods with a solid block that doesn't animate. See if the shapechanging is the problem.
Much of platform physics can be based on yvelocity - for instance, resetting canjump when a player falls - just disable canjump anytime yvelocity is over 2. When he's falling, he can't jump. I use 2 because....lol....the yvelocity incurred in the physical responses can fool it! Usually it doesn't go over one but sometimes it does. 2 is safe, if the gravity is (yvelocity+=1) then each frame picks up 1 velocity, and its only 2 frames to jump disable, so it appears instantaneous.
The question you're asking is simpler than this thread makes it seem. We're saying different things but using the same words (or vice versa) - its difficult for each of us to understand what the other is saying, i guess.
I went thru this before many times, i know exactly what your problem is, but there are many ways around it. There are many ways around
any problem.