TimeFreeze wrote:
I think scratch should have custom blocks. The point of custom blocks would be to put other coding inside them so that it would be sort of like generating a new type of block. You could export the custom blocks, and use them in other projects. For example, it would be in a new section called "custom". Like this: http://www.freewebs.com/scratchclubsite … %20Tab.gif http://www.freewebs.com/scratchclubsite … 20Tab2.gif. To make a block you would have to click this: http://www.freewebs.com/scratchclubsite … 7361717941. The block could hold several blocks inside like this:http://www.freewebs.com/scratchclubsite … 0Block.gif http://www.freewebs.com/scratchclubsite … 0Block.gif. This would be very useful for shortening out your scripts that are too long or saving a certain script that you use multiple times.
It would be great if you could then save it as a permanent block to use the next time you want.
Offline
johnadmin wrote:
We (the Scratch Team) has been thinking a lot about this feature. But we were thinking that it would be nice if the user-created block could take parameters, the way the built-in blocks do. For example, you might want a parameter to control how fast or far a sprite moved. Do you have any ideas about that?
TimeFreeze wrote:
Well, I'm not sure I completely understand what you are saying about the parameters. But, anyways, thanks for supporting my suggestion!
Let's say I have a number of blocks in Scratch that, say, perform some fairly complex math - for the sake of argument, let's say they calculate gravity in some way. I then create a 'custom block' from this, using your idea.
Now, what if I could then change one of the parameters inside of this custom block simple by changing a number on the custom block itself (eg, the block would say "Gravity: [x]", with [x] being a space for user input)? This would be really useful, but how would this be implemented?
Perhaps one way around this would be to have a wizard type interface pop up when creating these custom blocks, asking if you'd like to have a user-adjustable parameter. You could then simply click on the parameter you'd like to be featured.
Offline
lxt wrote:
johnadmin wrote:
We (the Scratch Team) has been thinking a lot about this feature. But we were thinking that it would be nice if the user-created block could take parameters, the way the built-in blocks do. For example, you might want a parameter to control how fast or far a sprite moved. Do you have any ideas about that?
TimeFreeze wrote:
Well, I'm not sure I completely understand what you are saying about the parameters. But, anyways, thanks for supporting my suggestion!
Let's say I have a number of blocks in Scratch that, say, perform some fairly complex math - for the sake of argument, let's say they calculate gravity in some way. I then create a 'custom block' from this, using your idea.
Now, what if I could then change one of the parameters inside of this custom block simple by changing a number on the custom block itself (eg, the block would say "Gravity: [x]", with [x] being a space for user input)? This would be really useful, but how would this be implemented?
Perhaps one way around this would be to have a wizard type interface pop up when creating these custom blocks, asking if you'd like to have a user-adjustable parameter. You could then simply click on the parameter you'd like to be featured.
O, that is what you meant... Well, I guess you would have to mess around with the source code to get that to be possible.
Offline
Auron wrote:
How would you program it? Sounds good! How about choosing what colour you want?
Hmm, that is a good idea! And like matthewjose said, do you mean choosing your own color, or choosing like motion, sound, etc., or both?
Offline
How about making boolean?
Offline
johnadmin wrote:
Hi, TimeFreeze.
Nice suggestion! It's well thought-out and your arguments are clear.
I agree, it would be really great to be able to make your own custom blocks in Scratch, both to use them in your own projects and to share them with other users.
We (the Scratch Team) has been thinking a lot about this feature. But we were thinking that it would be nice if the user-created block could take parameters, the way the built-in blocks do. For example, you might want a parameter to control how fast or far a sprite moved. Do you have any ideas about that?
-- John
Hey John,
I'm just jotting down thoughts, but thought I'd chime in
I like the TimeFreeze's suggestion too but would it be possible for the user to type directly into the title line to create the Block name?
In the top righthand corner of a custom block, could you include a '+' that would allow you to add a parameter / bridging variable that would appear with a white background. you could add to the end of the Block name and allow the user to drag into the correct spot in the block name.
The parameter name should be allowed to be changed to something that the user would allow either
- in the block title
or
- simply have <1> , <2> in the title and then add a second line to the custom block title with the variables in order
perhaps the plus sign could also allow you to choose "Bridge variables" and "For this block only" so that you could encapsulate a variable only for use within the custom block
That was pretty much just as I thought it, so please feel free to point out any inconsistencies
-
Offline
matthewjose wrote:
How about making boolean?
Yea I said that somewhere in page one. (I made another post saying that you should also be able to make boolean and number blocks)
Offline
aussieinca wrote:
johnadmin wrote:
Hi, TimeFreeze.
Nice suggestion! It's well thought-out and your arguments are clear.
I agree, it would be really great to be able to make your own custom blocks in Scratch, both to use them in your own projects and to share them with other users.
We (the Scratch Team) has been thinking a lot about this feature. But we were thinking that it would be nice if the user-created block could take parameters, the way the built-in blocks do. For example, you might want a parameter to control how fast or far a sprite moved. Do you have any ideas about that?
-- JohnHey John,
I'm just jotting down thoughts, but thought I'd chime in![]()
I like the TimeFreeze's suggestion too but would it be possible for the user to type directly into the title line to create the Block name?
In the top righthand corner of a custom block, could you include a '+' that would allow you to add a parameter / bridging variable that would appear with a white background. you could add to the end of the Block name and allow the user to drag into the correct spot in the block name.
The parameter name should be allowed to be changed to something that the user would allow either
- in the block title
or
- simply have <1> , <2> in the title and then add a second line to the custom block title with the variables in order
perhaps the plus sign could also allow you to choose "Bridge variables" and "For this block only" so that you could encapsulate a variable only for use within the custom block
That was pretty much just as I thought it, so please feel free to point out any inconsistencies![]()
-
Hm, I really like your idea for the parameters, but not the idea for the name. The reason I want it to be made the same way as a variable is so that you can type the name in, and choose what type of block you want (regular, c block, number, or boolean)
Offline
fullmoon wrote:
Jens released a preview of something similar here.
Wait I thought you said that was a cruel hoax... lol
Offline
TimeFreeze wrote:
fullmoon wrote:
Jens released a preview of something similar here.
Wait I thought you said that was a cruel hoax... lol
I thought so, but then I read some of the comments. He's also been hinting at something like this for a while now. Cross your fingers!
Offline
TimeFreeze wrote:
aussieinca wrote:
Hey John,
I'm just jotting down thoughts, but thought I'd chime in![]()
I like the TimeFreeze's suggestion too but would it be possible for the user to type directly into the title line to create the Block name?
In the top righthand corner of a custom block, could you include a '+' that would allow you to add a parameter / bridging variable that would appear with a white background. you could add to the end of the Block name and allow the user to drag into the correct spot in the block name.
The parameter name should be allowed to be changed to something that the user would allow either
- in the block title
or
- simply have <1> , <2> in the title and then add a second line to the custom block title with the variables in order
perhaps the plus sign could also allow you to choose "Bridge variables" and "For this block only" so that you could encapsulate a variable only for use within the custom block
That was pretty much just as I thought it, so please feel free to point out any inconsistencies![]()
-Hm, I really like your idea for the parameters, but not the idea for the name. The reason I want it to be made the same way as a variable is so that you can type the name in, and choose what type of block you want (regular, c block, number, or boolean)
I'm not sure what application you have in mind for custom C blocks, numbers or booleans. I usually just use 0 and 1 for boolean, but I really miss the ability to define subroutines and find myself using a lot of global variables and messages... is it obvious I'm a C programmer?
I'm genuinely curious and think I'm missing something here, what applications are you thinking of?
Offline
IDEA! When you click "Make a custom block", it will ask for stuff just like a list/variable, and if you type in PARAMETER_SPACE it will make a space for a parameter.
Offline
matthewjose wrote:
IDEA! When you click "Make a custom block", it will ask for stuff just like a list/variable, and if you type in PARAMETER_SPACE it will make a space for a parameter.
Hmm, that seems like a good idea too. Though I think it might be annoying to type in that over and over, so maybe there should be like a checkbox that says "yes" or "no".
Offline
I think there should also be something like a variable block that comes with the custom block if you add a parameter. It would be a block that could fit into the number blocks, like ((parameter of Custom Block) + (3)). So you could put it in a repeat (parameter) block, or a [change x by (parameter)] block.
Offline
Do you know how you can do <change x by( <{ variable }> )>? Well it's the same thing except <{ variable }> would be <{ parameter }>.
Offline
TimeFreeze wrote:
I think scratch should have custom blocks. The point of custom blocks would be to put other coding inside them so that it would be sort of like generating a new type of block. You could export the custom blocks, and use them in other projects. For example, it would be in a new section called "custom". Like this: http://www.freewebs.com/scratchclubsite … %20Tab.gif http://www.freewebs.com/scratchclubsite … 20Tab2.gif. To make a block you would have to click this: http://www.freewebs.com/scratchclubsite … 7361717941. The block could hold several blocks inside like this:http://www.freewebs.com/scratchclubsite … 0Block.gif http://www.freewebs.com/scratchclubsite … 0Block.gif. This would be very useful for shortening out your scripts that are too long or saving a certain script that you use multiple times.
Good idea!
I would like it if you can set the color of the block and set what type of block it is, a yellow colored block doesn't suit me.
Offline
TimeFreeze wrote:
PSS- You wrote"PS- Why do you have 3 different accounts, TimeFreeze, TheChosenOne, Time4Scratchers.", and it should end with a question mark. Just wanted 2 bug u.
Actually, it SHOULD be "PS- Why do you have three different accounts: TimeFreeze, TheChosenOne, and Time4Scratchers?" Sorry, I just like correcting people. (changes I made: 3 to three (under ten is numerical, straight-forward numbers over ten are written - for example, 1 million instead of 1,000,000), colon to introduce a list)
As for the idea: I love it! It would really shorten up all of those scripts!
Offline
Thanks for the nice replies guys!
Offline
matthewjose wrote:
Auron wrote:
How would you program it? Sounds good! How about choosing what colour you want?
Yep, that would be even better! Color choosing..... do you mean your OWN color or what type of block it is? (motion, sensing, sounds, etc.)
Your own.
Offline
ok, thank you for making that clear. I was also wondering how that would work.
Offline
TimeFreeze wrote:
I think scratch should have custom blocks. The point of custom blocks would be to put other coding inside them so that it would be sort of like generating a new type of block. You could export the custom blocks, and use them in other projects. For example, it would be in a new section called "custom". Like this: To make a block you would have to click this: The block could hold several blocks inside like This would be very useful for shortening out your scripts that are too long or saving a certain script that you use multiple times.
ya i had that idea too i think it would be a cool feature for scratch and really cool picture
Offline
TimeFreeze wrote:
'....You could also create true/false blocks (boolean).'
Couldn't you just set a variable where 0=False and 1+True?
Last edited by kiteflyer (2008-10-29 17:04:23)
Offline