-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blocks for individual mouse buttons down #30
Comments
I definitely support this one 😃 |
Are you sure that there isn't any way to make it a custom boolean block such as "secondary mouse button down?" so that we can create the block in Scratch projects even if they don't work natively in Scratch? Then at least we would be able to save projects with the block and include links to the TurboWarp project page where they would actually function. We don't really need the "left mouse button down?" block and so it would only add two blocks to the TurboWarp section: "secondary mouse button down?" and "middle mouse button down?". |
It's possible, but I think that the method of adding new blocks by abusing argument reporters is flawed and it's not something I want to continue to do.
I'm open to being convinced otherwise about this. Maybe I'll add a "secondary mouse button down?" as an argument reporter anyways. I don't know. |
I understand most of your reasoning for not continuing to add blocks except for the following (there is a chance that I am misinterpreting the wording of your reasons so feel free to correct any misunderstandings I may have):
This one mostly makes sense. This part is not clear:
It would seem to me that using custom blocks is the best way to remain in compatibility with Scratch. Making a new category of blocks doesn't seem to be necessary as long as you used regular custom blocks to do the same thing as the new blocks in that category. For example, getting the color of a pixel on the screen could be done by creating a new custom block called something like: Furthermore, using a consistent format for the naming of custom blocks like "tw", then an underscore, then the camel-case function name, then string inputs labeled with "in" and then the number of the input would make it easy to remember how to create and use these custom blocks in addition to not conflicting with any custom block names that a regular Scratch user is likely to create. Onto your second point about the terms of service stating that only native Scratch projects are allowed to run in Scratch. This does not affect what I am assuming to be the "standard use-case" of TurboWarp in any way (although I do not have any of the analytic information that you do so I may be mistaken on this point). As far as I am aware, most people use TurboWarp mainly for its compiler and use it as a faster project player. If I am correct about this, that would mean that most projects opened in TurboWarp were created in Scratch, not the other way around. As long as the custom block can be created in Scratch, it should not matter to the Scratch Team if it works or not because it was created in the normal Scratch editor. Even though it may not do anything in Scratch, there are likely tens of thousands of projects on Scratch with nonfunctional custom blocks and these are no different as far as the Scratch team is concerned because if they do not perform any function that could affect a Scratch project in a way normal blocks cannot, they are not a moderation hazard to the Scratch Team. For the language reason, I understand that there is no way to translate TurboWarp custom blocks in Scratch, but this is not as much of an issue as it may seem. Although this is brought up all the time as an important accessibility feature, in Scratch, it is much less useful. It works very well in the editor to the creator of the project, but then its point is defeated to those viewing it. The notes, descriptions, custom block names, variable names, sprite names, costume names, string inputs, and project names are never translated leaving projects written in languages you do not understand to be almost uneditable. This means that as long as you expand the database of valid custom-block names to accept their translated variants on the TurboWarp editor, users of Scratch that are viewing the project will not have any less accessibility than the default Scratch custom block names provide, while project-creators of different languages will still be able to input custom block names that they understand. As a final note, I'd just like to say that all of the statements I have just made have a large possibility of being incorrect if I misunderstood your reasons earlier. In addition, the statements above are all based on my idea of the way TurboWarp is most commonly used. While writing this comment, I have based my ideas on the assumption that TurboWarp is intended to run Scratch projects but not act as a replacement to Scratch. Any reasoning over confusion to new users has also been avoided in the statements because simplicity makes Scratch stand out but also holds it back while TurboWarp being less focused on simplicity allows us to do more with it. |
I'm closing this issue because blocks for individual mouse buttons being pressed was added. The discussion of whether to implement Scratch-compatible-ish reporter blocks for this has moved to #44 |
The text was updated successfully, but these errors were encountered: