Repository navigation
Release v7.0.0 - #61
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add the
scratch-gamepadextension: controller support for up to four gamepads.Gamepadasksanywhere for buttons, sticks (y up, as on the stage, with a dead zone), triggers and connections;
stages and sprites implementing
GamepadListenerare told about button presses, releases andcontrollers connecting, at the same point of the tick as key events. Buttons are named in Xbox
positions (A, B, X, Y); controllers without a known layout are skipped and there is no rumble.
Smooth pixel art scales the window's letterbox to fit, like its camera zoom, instead of whole
numbers: with
Window.useSmoothPixelArt()the stage fills the window at any size, while plainusePixelArt()keeps stepping whole pixels.Scratch for Java no longer runs on Processing. It draws with its own renderer on LWJGL (OpenGL 3.3, 4.1 on macOS), plays sound through OpenAL and needs no
java.desktop.run()is called exactly 60 times per second of game time on every computer, and what a program sees (collisions, colour sensing, text layout) no longer depends on the graphics card or the screen.The extensions are jars of their own:
scratch-tiled,scratch-save,scratch-recorderandscratch-drawing, with short packages (org.openpatch.scratch.tiled, …). Camera, shaders, sound, pixels and sorting are part oforg.openpatch.scratch. The-alljar still contains everything, and a public extension API lets others write extensions.The API was cleaned up for learners, and programs written for 6.x need changes: time is in seconds everywhere (
say("Hi", 2),waitSeconds(0.5),timer.every(0.5)), animations and nine-slicing are on every sprite (AnimatedSpriteandUISpriteare gone),createClone()replacesclone(), layers replace the UI flags,Colorcannot be changed, the colour effect and the tint are separate, and shaders have a new, shorter format. The page "Moving from 6.x to 7.0" lists every change, andscripts/migrate-7.pymakes the mechanical ones.BlueJ is no longer supported; Scratch for Java Studio is the IDE.
Compatibility artifacts and catalogs are prepared for
7.0.0. Before merging, review the browser policy and synchronizeopenpatch/online-idefrom this release branch:The script also verifies the checkout. Commit and push the browser updates in online-ide and run its browser compatibility tests (
npm run test:browser) before merging this PR. RELEASING.md has the full cross-repository runbook.