Taneb wrote:
I don't think that works at all on Ubuntu.
As long as you have normal Scratch installed, it will work perfectly fine.
Offline
shadow_7283 wrote:
Except presentation mode doesn't work.
[Heartfelt welcome to Linux omitted for fear of starting another OS war.]
Does it work for you in Scratch?
No -> Try playing with your display resolution (probably lowering it).
Yes -> Does it work for you in BYOB 3.0.9?
No -> http://byobugs.com
Yes -> Hmm, I don't think anything about displaying is different. ???
Offline
Another alpha release.
Jens wrote:
Tonight's build contains a bug fix regarding non-Unicode encoded costume names (this is also a bug in the current official Scratch 1.4 release, but now it's fixed in BYOB ) and localization support for the "atomic" check box in the lambda blocks' context menu.
Offline
Scratch works fine, because I could use the installer. BYOB, on the other hand, is just an image, and Scratch on Ubuntu doesn't contain an image (for me). So I'm running it with Squeak. I think the Scratch team may have worked a bit with the squeak source code to create presentation mode capabilities.
So I don't think it's a bug.
Offline
...I did the latter, not the first. Oops. I figured since that was the folder containing the media, it should contain the image too. Apparently I was wrong.
I'm new to Ubuntu though, as you can probably tell. I miss good old "Program Files".
Offline
14God wrote:
@ bharvey, Are you planing to make some new tutorial videos for the new OOP features?
Yes, once the software settles down. (I also have to do some revision of the old tutorials!) This is distinct from the OOP-by-lambda tutorial that fullmoon is (I hope) working on.
Offline
bharvey wrote:
14God wrote:
@ bharvey, Are you planing to make some new tutorial videos for the new OOP features?
Yes, once the software settles down. (I also have to do some revision of the old tutorials!) This is distinct from the OOP-by-lambda tutorial that fullmoon is (I hope) working on.
I've actually started writing quite the tutorial on closure-based OOP, but most of it is for my pet language. The concepts are all there...I just have to translate the syntax to blocks! I'd also like to create a nice web interface for browsing through it when I get the chance. Soon...soon!
Offline
Thought I'd leave this here:
For the Javascript remake of byob, it may be fun to play with mesh-like features with something like NowJS (cool, but very new.) or APE - Ajax push engine. (more mature and cool demos. (edit: ahh, demos are down now?) )
Last edited by JTxt (2011-03-17 16:36:55)
Offline
JTxt wrote:
Thought I'd leave this here:
For the Javascript remake of byob, it may be fun to play with mesh-like features with something like
There will definitely be mesh -- we aren't going to take any steps backward. I'll leave the specific suggestions for Jens to comment on.
Offline
Well... we're going to rewrite BYOB from the ground up. That's the biggest step backwards I can think of. I agree that eventually we'll want to do more than we can to today, but along the way I'm sure we'll have to make compromises.
Offline
Jens wrote:
Well... we're going to rewrite BYOB from the ground up. That's the biggest step backwards I can think of. I agree that eventually we'll want to do more than we can to today, but along the way I'm sure we'll have to make compromises.
Sorry, I meant to say, by the time of the official 4.0 release we should have everything in place. Right?
Offline
...(follow-up of my previous msg)
TELL
Tell is well done to send commands from one sprite to another sprite for example change a local variable of the receiver sprite. But more surprisingly it can be used to send a value from the sender to the receiver.
For example : ask the receiver sprite <main> to display the name of the sender sprite when this one is hit :
SCRIPT VARIABLE [a]
SET [a] to ATTRIBUTE [name]
TELL [OBJECT [main]] to
[ SAY [name] [0.8] secs
CHANGE [main.nbhit ] by [1]
]
Offline
xly wrote:
SCRIPT VARIABLE [a]
SET [a] to ATTRIBUTE [name]
TELL [OBJECT [main]] to
[ SAY [name] [0.8] secs
CHANGE [main.nbhit ] by [1]
]
I was scared when I saw this, because it would be a BYOB bug, but there's a crucial typo in the above: it should be
SAY [a] FOR [0.8] SECS
If it actually said [name] as in the O.P., then the receiver would say its own name. But script variables, such as [a], don't belong to a sprite; they follow the running script (and another script that it LAUNCHes) no matter what object it talks to.
Offline
Today's alpha release:
Jens wrote:
This alpha test release fixes quite a few bugs, among them:
1) the [list CONTAINS element] block now works correctly for lists that contain complex objects such as sprites
2) deleting a clone's parent now shadows local copies of formerly inherited properties (blocks, variables, lists, attributes)
3) saving a project with empty DELETE blocks no longer raises an exception
4) saving/reading a project no longer changes the text of the ATTRIBUTE block's drop-down selection
5) the ATTRIBUTE and OBJECT blocks are now in the palette's sensing category
6) detaching a part-sprite from its anchor-sprite now is much faster and smoother
Plus many small ones I've forgotten about by now.
Especially the last fix (#6) makes it much more fun to play with dynamic composites. I'm attaching a demo project ("ants.ypr") that makes extensive use of the new OOP features.
Enjoy!
--Jens
Offline
bharvey wrote:
xly wrote:
SCRIPT VARIABLE [a]
SET [a] to ATTRIBUTE [name]
TELL [OBJECT [main]] to
[ SAY [name] [0.8] secs
CHANGE [main.nbhit ] by [1]
]I was scared when I saw this, because it would be a BYOB bug, but there's a crucial typo in the above: it should be
SAY [a] FOR [0.8] SECS
If it actually said [name] as in the O.P., then the receiver would say its own name. But script variables, such as [a], don't belong to a sprite; they follow the running script (and another script that it LAUNCHes) no matter what object it talks to.
I apologize for the typo mistake. Your version is correct. Anyway this gives a way to pass 'data' from one sender to a receiver sprite...this playing the role more or an intelligent broadcast.
Offline
Game toolkit
I've uploaded a new version of my "game toolkit" at :
http://www.xleroy.net/ByobTuto/New/Thumbnails.html
It is very far from the programming level of Jens "aunts", Impressive !!!
But in the meantime it can help beginners to start to make small games
Surprisingly all sprites of this project are now "exportable". I
It is a first step for sharing Byob libraries
Offline
new version of Morphic.js
Hi, all. I have just updated Morphic.js with basic text editing capabilities for TextMorphs (multi line, word wrapping strings). It feels kinda funny to re-invent how text editing works from the bare metal, but if we're contemplating to bootstrap BYOB4 at some point this needs to get done.
Last edited by Jens (2011-03-25 08:48:07)
Offline
Today's alpha release isn't about first class sprites, but about hanging variable references:
Jens wrote:
This experimental release attempts to fix a Scratch-inherent problem regarding orphaned and rescoped variable blocks:
In current Scratch (and in current official BYOB) if a global variable is deleted and then a same-named sprite-only new one is created, all blocks referring to the original global variable in existing scripts will always report zero. Worse, once the project is saved the original global variable gets resurrected and often behaved erratically. The same thing happens for deleted sprite-owned variables which are re-introduced as global ones.
Tonight's build tries to remedy this:
Global and sprite-owned variable getter blocks are getting a "desperate evaluator", which kicks in if the object they're bound to (stage for globals or sprite for locals) holds no reference to their variable name, in which case they'll look both locally and globally for any variable name match. If no match is found they will return zero and re-create the deleted global or local variable upon saving (just as Scratch does). However, if another match is found elsewhere the orphaned block gets re-bound to the newly matched reference upon either saving or becoming evaluated.
The result lets you delete any global or local variable and replace it by a same-named but differently scoped new one (local instead of global and vice-versa) without having to adjust anything in your scripts.
Please let me know if this causes any undesired side-effects for you.
Thanks!
--Jens
This solves only one of the possible problems about orphaned variables, but it's one that has come up in practice a lot for one of our alpha-testing teachers. We're still negotiating about the eventual perfect solution.
Offline