Jens is back! Here's another 3.1 beta image.
Jens wrote:
This beta release once again lets you set a sprite's local variable from within another sprite which does not happen to have a same named variable of its own. I'm including a (particularly mindless, sorry) example. Thanks, Scott, for bringing this problem to my attention!
Offline
Here is a great suggestion: After you make a block, you can right click and view the squeak or panther code.
Offline
bharvey wrote:
Try clicking "clear all variables" in the edit menu before saving. Does that fix it?
I don't see a "clear all variables" button... I do have a "unload unused blocks" button. (Which I have found very helpful, by the way.)
Offline
SSBBM wrote:
bharvey wrote:
Try clicking "clear all variables" in the edit menu before saving. Does that fix it?
I don't see a "clear all variables" button... I do have a "unload unused blocks" button. (Which I have found very helpful, by the way.)
Under the edit menu.
Offline
hey, I like the beta so far!
also, why is (pigl [ ] ) in the tools sprite? I'm probably never going to need to use it as a tool, and if I did need to use it I would make it myself.
Offline
DarthPickley wrote:
also, why is (pigl [ ] ) in the tools sprite?
Yeah, some of those blocks are there not as tools but as examples, used in the ToolSprite's scripting area. I guess I should make those sprite-local so they get deleted when you delete the sprite. I'll work on that...
Offline
bharvey wrote:
DarthPickley wrote:
also, why is (pigl [ ] ) in the tools sprite?
Yeah, some of those blocks are there not as tools but as examples, used in the ToolSprite's scripting area. I guess I should make those sprite-local so they get deleted when you delete the sprite. I'll work on that...
Hey, I want pigl for my pig-Latin translator! It takes a sentence and makes it pig-Latin.
Offline
Though I've checked this topic daily, I haven't really been active...
But the Windows Installer motivated me to give BYOB 3.1 a try! It's pretty cool!
One thing I noticed, is when two sprites are both parented to each other, only one of the sprites shares the other's variables. For example the Scratch cat is parented to Alonzo, and Alonzo is parented to the Scratch cat, and the Scratch cat gets Alonzo's variables, but Alonzo doesn't get the Scratch cat's variables.
Though I thought this situation was impossible in the first place, it doesn't seem to work correctly.
Last edited by shadow_7283 (2011-05-02 21:29:49)
Offline
Here are the full release packages corresponding to the 2-May-2011 beta:
Macintosh
Windows installer and files only
Last edited by bharvey (2011-05-05 13:45:03)
Offline
Why did you decide to make the new BYOB version in Java (as opposed to flash or some other programming language)? Not that I have anything against Java, I'm just wondering why you decided to use it.
Offline
floppy_gunk wrote:
Why did you decide to make the new BYOB version in Java (as opposed to flash or some other programming language)? Not that I have anything against Java, I'm just wondering why you decided to use it.
Javascript, not Java. Jens and Brian can answer this better, but I believe the idea is to have something written in a language that can render anywhere, including a browser; and (tell me if I'm wrong as I don't speak javascript) that language has pretty robust features that support the first-order objects BYOB wants to create.
Also, though I haven't noticed these guys saying it, Flash is a proprietary platform which always hides the source code from the end user, and which will hopefully be replaced for almost all uses once HTML5 is more widely implemented, due to the <video> and <canvas> tags in that standard. Javascript, on the other hand, is the future of the web.
Offline
titaniumbones wrote:
Javascript, not Java. Jens and Brian can answer this better, but I believe the idea is to have something written in a language that can render anywhere, including a browser; and (tell me if I'm wrong as I don't speak javascript) that language has pretty robust features that support the first-order objects BYOB wants to create.
Yes, exactly. I'm not personally very excited about running in a browser, but it's important because some schools have paranoid sysadmins who won't let teachers install software locally. (Personally if I were a paranoid sysadmin I'd be more worried about the stuff that runs in a browser, but I've never seen a school district that uses Privoxy or Ad Block Plus. But that's a different rant.) Plus there's that other smartphone competing with Android that doesn't allow programming languages on the phone. And Javascript has lambda, so it's good enough.
Also, though I haven't noticed these guys saying it, Flash is a proprietary platform which always hides the source code from the end user, and which will hopefully be replaced for almost all uses once HTML5 is more widely implemented, due to the <video> and <canvas> tags in that standard. Javascript, on the other hand, is the future of the web.
Yeah, that too. I'm not making any predictions about the future of the web, but Javascript is clearly the present of the web. And I'm glad to be using an open platform. (The Scratch Team would be happier with it, too, but when they looked into it in detail there were a few things they needed that they could do in Flash but not in HTML5, at least at the time. Sound was one problem they mentioned; I forget the rest.)
Offline
bharvey wrote:
titaniumbones wrote:
Javascript, not Java. Jens and Brian can answer this better, but I believe the idea is to have something written in a language that can render anywhere, including a browser; and (tell me if I'm wrong as I don't speak javascript) that language has pretty robust features that support the first-order objects BYOB wants to create.
Yes, exactly. I'm not personally very excited about running in a browser, but it's important because some schools have paranoid sysadmins who won't let teachers install software locally. (Personally if I were a paranoid sysadmin I'd be more worried about the stuff that runs in a browser, but I've never seen a school district that uses Privoxy or Ad Block Plus. But that's a different rant.) Plus there's that other smartphone competing with Android that doesn't allow programming languages on the phone. And Javascript has lambda, so it's good enough.
I used to go to a school that had parental controls on the computer.
Offline
SSBBM wrote:
scimonster wrote:
I used to go to a school that had parental controls on the computer.
Aren't you home schooled...
Used to.
I started after that year XD.
Offline
bharvey wrote:
Jens is back! Here's another 3.1 beta image.
Jens wrote:
This beta release once again lets you set a sprite's local variable from within another sprite which does not happen to have a same named variable of its own. I'm including a (particularly mindless, sorry) example. Thanks, Scott, for bringing this problem to my attention!
In your example, is there a reason to use a very complex script where a simple script as follows does the job ?
TELL object [other guy] to
SET <secret> to "kiki"
SAY <secret> for <2> secs
Offline
xly wrote:
TELL object [other guy] to
SET <secret> to "kiki"
SAY <secret> for <2> secs
(1) There's no TELL in BYOB. Jens was trying to demo the primitive blocks. (2) Your script can be written only if the sprite that runs it has a variable SECRET in its scope. The whole point of the example is how to set another sprite's variable if you don't have one of your own.
EDIT: But, Jens, why doesn't this work:
SCRIPT VARIABLES <secret>
SET [[THE <secret> BLOCK] OF <sprite2>] TO <something>
Last edited by bharvey (2011-05-03 14:13:16)
Offline
bharvey wrote:
scimonster wrote:
SSBBM wrote:
Aren't you home schooled...
Used to.
I started after that year XD.Wow, your parents pulled you out of school just because of its computer use policy?
No, it was the rest of the school.
Offline
bharvey wrote:
xly wrote:
TELL object [other guy] to
SET <secret> to "kiki"
SAY <secret> for <2> secs(1) There's no TELL in BYOB. Jens was trying to demo the primitive blocks. (2) Your script can be written only if the sprite that runs it has a variable SECRET in its scope. The whole point of the example is how to set another sprite's variable if you don't have one of your own.
(1) Correct. But then you can write instead:
LAUNCH [THE SCRIPT [[SET <secret> to "kiki"][SAY <secret> for <2> secs]] of <other guy>]
(2) My Alonzo has no <secret> variable in its scope, only <other guy> has one. The trick is to write this script into the <other guy > script area where <secret> is visible, and then duplicate this script into <Alonzo> script area.
Offline