microsoft / pxt-arcade

Arcade game editor based on Microsoft MakeCode
https://arcade.makecode.com
MIT License
477 stars 207 forks source link

Surfacing the Sprite Utility extension #4932

Open bmarslandCN opened 2 years ago

bmarslandCN commented 2 years ago

Is your feature request related to a problem? Please describe. Our team was watching one of the MakeCode Arcade Livestreams that featured the user-created Sprite Util extension created by @jwunderl. There are so many cool things in this extension (we particularly liked the "render on z index" container block) and we were wondering if this Extension will ever be added to the "main" extensions, or if some of the blocks might even be added to the regular code block menus. Thanks!

image

Describe the solution you'd like We would like to see some or all of the Sprite Util extension code be available as a standard MakeCode extension, or as a regular block available in the menu.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

bmarslandCN commented 2 years ago

Further context: we'd like to use some of the code blocks created in this user extension in the curriculum we are writing, but would rather not have to access user-created extensions as there's always the possibility they might change or go away without notice, rendering those lessons unusuable.

jwunderl commented 2 years ago

This is a pretty safe extension to use for now, as I'm a dev on the team in the first place :) But yes, this extension is basically just my grab bag of "would be nice to have this one off block" that I've been thinking of on the stream -- I should go ahead and move it to a repo like microsoft/arcade-utils, and split it up into a few 'sub extensions' like jacdac -- e.g. then we could have it split up into a few like microsoft/arcade-utils/sprites, microsoft/arcade-utils/math, microsoft/arcade-utils/images, and microsoft/arcade-utils/game. The only thing that would be likely to change is the namespace so it'd be pretty easy to transition, but if needed I can try and prioritize it :)

Just a few things we need to do for this:

bmarslandCN commented 2 years ago

@jwunderl thanks for the quick response! This is not an immediate need, but it is helpful to know that some/all of the code could be made available in an extension that is easier to find! (there's a lot of user error for us to anticipate when having kids search for an extension not already visible on the extension page).

set life image is something we already found in the JS editor, but would love to see this as a block kids could use too render on z-index is probably the one we are most excited about for creating additional game screens and menus without relying on dialog boxes / splash screens

The onSpriteKindUpdateInterval and addEventHandler blocks also seem like they would be really useful if kids had easy access to them too!

Let us know what your plans are for this extension; for now we will use the spriteutils namespace in our curriculum, but will update as needed. Thanks!!