Please give credit. Left and right to turn. Up to go forward. Down to go backward. Explore the motion of the sprites around you. See inside for scripts If you use zoom, use the base size local variable instead of the size scripts (not required for scripts running without screen refresh that reset size after setting it). This is used to retain size after applying zoom. The Abby sprite has an example of this. Size based on Zoom is updated with the position.
Features: * Unlimited x and y positions (as long as scratch supports number) * Variable setup performed on the first run (read the bottom for a disclaimer on this) * Motion blocks so you can still code the way you're used to * Distance support if you want to freeze sprites until gets into range of camera * Specify which sprite the camera should focus on, or focus on a position. * Have the camera follow the designated sprite instead of focusing directly on it. * Constrain the Camera so that it never displays anything outside of the edges you define. * Define your edge limits and constrain to/bounce off the edges * Sprites go outside of the screen * Bounce off-axis block (bounce when not on edge) * Emulated glide block with support for an ease-out motion * Code exactly as you do now with the exceptions of using custom motion blocks and using "My x" "base size" and "My y" variables. * Full zoom support. * Active range dynamically adjusted based on zoom * Play sound from any position with adjusted volume (uses active range as hearing distance) and left/right pan effects Scratch will not create global variables automatically, so create those before your first run. Variables that should be global are labeled with "[G]", but you can rename them later on. Alternatively, you could run the custom block included in this project's stage on your project's stage (variables created on the stage are already global). After that, grab the basketball and camera sprites, and you'll be good to go!