m (contraction removal SEMI_AUTOMATIC)
(Hopefully less like a manual.)
Line 1: Line 1:
{{Wiki Standards|Not a proper how-to guide. Reads like instruction booklet.}}
 
 
 
A typewriter simulator is a [[Simulation Projects|simulation project]] where you can type notes, like in Microsoft Word©. This typewriter tutorial only requires simple scripting.
 
A typewriter simulator is a [[Simulation Projects|simulation project]] where you can type notes, like in Microsoft Word©. This typewriter tutorial only requires simple scripting.
  
 
==Creation==
 
==Creation==
===Step 1===
+
First, create a [[sprite]]. You can call it whatever you want, but for this example, it will be called "Text".
First, create a sprite. You can call it whatever you want, but for this example, it will be called "Text".
 
  
===Step 2===
+
Now, click the [[Costumes|Costumes]] button above the block palette, and change the mode to [[vector]]. You will need to create a new costume with the letter "a", uppercase or lowercase. Name the costume "a".
Now, click the "<span style="color:#616161">Costumes</span>" button above the block palette, and change the mode to vector. You will need to create a new costume with the letter "a", uppercase or lowercase. Name the costume "a".
 
  
===Step 3===
+
Create 25 more costumes, but instead of making more "a"s, make one costume for each letter of the alphabet. The name of each costume should be the letter that the costume is.
Repeat step 2 listed above 25 more times, except with different letters of the alphabet. First you do "a", then "b", and so on.
 
  
===Step 4===
+
Once you have all of the costumes, create a [[custom block]] that looks like this:
Now that you have all of the costumes, click the "<span style="color:#616161">Scripts</span>" button, right next to the "<span style="color:#616161">Costumes</span>" button. Go to the <span style="color:#616161">More Blocks</span> section, and create a block that looks like this:
 
 
<scratchblocks>
 
<scratchblocks>
 
print [] size () // category=custom
 
print [] size () // category=custom
 
</scratchblocks>
 
</scratchblocks>
  
Once you finish, a "Define" hat should appear. It will be defined later on.
+
Once you finish, a "Define" hat should appear.
  
===Step 5===
+
Click the Data button, and create a [[variable]] that is open to all [[sprite]]s and named "letter on?".
Click the <span style="color:#616161">Data</span> button, and create a variable that is open to all sprites and named "letter on?".
 
  
===Step 6===
 
 
Remember the define block that was created earlier? In this step, it will be defined. Snap the following blocks underneath the define block so that the script looks like this:
 
Remember the define block that was created earlier? In this step, it will be defined. Snap the following blocks underneath the define block so that the script looks like this:
  
Line 38: Line 30:
 
</scratchblocks>
 
</scratchblocks>
  
===Step 7===
 
 
Now, you have two different choices. You can choose whichever one you like better.
 
Now, you have two different choices. You can choose whichever one you like better.
  
====Step 7a====
 
 
One method of detecting which keys are pressed can be the 26-script way. It's like this:
 
One method of detecting which keys are pressed can be the 26-script way. It's like this:
  
Line 53: Line 43:
 
When using this method, you need to repeat the script 25 more times, but each with a different letter of the alphabet. First "a", then "b", and so on.
 
When using this method, you need to repeat the script 25 more times, but each with a different letter of the alphabet. First "a", then "b", and so on.
  
====Step 7b====
 
 
Another method of detecting which keys are pressed can be the 1-script way. First, create a script like this:
 
Another method of detecting which keys are pressed can be the 1-script way. First, create a script like this:
  

Revision as of 23:18, 2 October 2014

A typewriter simulator is a simulation project where you can type notes, like in Microsoft Word©. This typewriter tutorial only requires simple scripting.

Creation

First, create a sprite. You can call it whatever you want, but for this example, it will be called "Text".

Now, click the Costumes button above the block palette, and change the mode to vector. You will need to create a new costume with the letter "a", uppercase or lowercase. Name the costume "a".

Create 25 more costumes, but instead of making more "a"s, make one costume for each letter of the alphabet. The name of each costume should be the letter that the costume is.

Once you have all of the costumes, create a custom block that looks like this:

print [] size () // category=custom

Once you finish, a "Define" hat should appear.

Click the Data button, and create a variable that is open to all sprites and named "letter on?".

Remember the define block that was created earlier? In this step, it will be defined. Snap the following blocks underneath the define block so that the script looks like this:

define print [text] size (size)
set [letter on? v] to [1]
repeat (length of (text))
switch costume to (letter (letter on?) of (text)
stamp
change [letter on? v] by (1)
change x by (size)
end

Now, you have two different choices. You can choose whichever one you like better.

One method of detecting which keys are pressed can be the 26-script way. It's like this:

First, create a script like this:

when [a v] key pressed
print [a] size (width of costumes) // category=custom

When using this method, you need to repeat the script 25 more times, but each with a different letter of the alphabet. First "a", then "b", and so on.

Another method of detecting which keys are pressed can be the 1-script way. First, create a script like this:

when gf clicked
forever
if <key [a v] pressed?>
print [a] size (width of costumes) // category=custom
else

end

The next step is to copy the "if else" part and stick it in the first "if else"'s "else". Change the "<key [a v] pressed" to "key [b v] pressed" and change the "print [a]..." to "print [b]...". Keep on doing this until you get to "y". This part is different, and should look like this:

...
if <key [y v] pressed?>
print [y] size (width of costumes) // category=custom
else
if <key [z v] pressed?>
print [z] size (width of costumes // category=custom
end
end
wait (delay time) secs
end forever block // category=control

Conclusion

If you followed all of the above steps, you should now have a working typewriter simulator!