I'm not familiar with Shovel Knight, but I have a guess as to what you want. Here's an example level with water:
- Code: Select all
25x25~.375aa8.4aa2.8aa11.4aa2.8aa11.4aa2.8aa11.4aa2.8aa11.4aa6.4aa11.4aa6.4aa11.4aa6.4aa11.4aa6.4aa53~~~~0;144;664;1;0;0|6;256;488;128;256;1;1;movechar,this,0,0,0,-0.3,0,0|9;320;648;0,0,100,50,0,0,255;5,5;ai25;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;1;;1;2;1;0;1~~My%20Level~~1~1;0;0~1~0;0~0;0;3~1431040095~0.5~4,3,0,0,0,0,0,0,0,0,0,0
There's a trigger in the "water" area which is constantly increasing the player's Y-speed upwards while inside, which gives the effect of the player jumping higher while in the water. You can use a larger number for the Y-speed to make the player jump higher, or a smaller number to make the player jump lower, but if you make the number too big the player will just bounce out of the water whenever they try to go in.
And here's an example of forced scrolling:
- Code: Select all
150x50~.7050aa450~~~~0;415;1505;1;0;0|9:wall;48;1232;;1,17;aa17;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;1;;1;1;0;0;1~6:camera;416;1344;1;1;0;1;|6;384;1440;64;64;0;1;camera,1,0,0,0,camera,0,0,10:move,camera,4,0,0,0:move,wall,4,0,0,0:sleep,1:goto,1|9:wall;720;1232;;1,17;aa17;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;1;;1;1;0;0;1~My%20Level~~1~1;0;0~1~0;0~0;0;3~1431040551~0.5~4,3,0,0,0,0,0,0,0,0,0,0
As you can see, the trigger in the center of the screen is tagged "camera", but by itself it does nothing. The trigger the player is touching at the beginning first makes the camera fix on "camera", then loops moving both "camera" and the walls at either side to the right. Stopping this trigger will stop the auto-scrolling.
If you want to be really mean, you can replace the walls with trigger hitboxes that move the player beneath the level to kill them instantly.
tl;dr: Triggers are wonderful.