Text boxes

I understand your frustration. But, look, if you're trying to learn something you don't already understand, you have to be able to tolerate some temporary frustration. I'm not saying not to ask for explanations! But don't make it sound as if everyone else is conspiring to frustrate you.

So, just to clear it out of the way, Logo is a programming language for kids, the immediate ancestor of Scratch and so the indirect ancestor of Snap!. Object Logo was an advanced version of Logo, way ahead of its time, to which I was a minor contributor. (It's in the past tense because it was designed to be really fast, so it included a JIT compiler to the Motorola 68000 processor that was used in the very first Macs. So when Apple moved away from the 68000, Object Logo stopped working.) One reason Object Logo is important to us is that it was the source of the object system Snap! uses for sprites and their clones. But it also had a great design for text boxes that I want to reimplement for Snap!.

Okay, you don't actually have to know or care about Object Logo for the discussion of text boxes. What's a text box? Answer:


A picture is worth 1K words. :~)

Why do I want text boxes to be costumes? So that I can do this: untitled script pic


and, you know, move it around the stage, all the things you can do with sprites and their costumes.

So, does that answer the question about costumes?

What's left is the part about the two categories of text boxes. The first category is a text editor, just like the editing program you use all the time, TextEdit if you're a Mac user, or umm Notepad? if you're a Windows user. (If you're a Linux user you know what a text editor is... :~) )

The second category is an interactive conversation window:


In this sort of program it would be meaningless to insert text anywhere other than at the end of the conversation, and you want what the user types to be visually distinguished from what the program types.

Anything else?