Class hours: 9:40 – 2:05
Mr. Bohmann
wbohmann@ewsd.org
Week Twenty Six
Today’s Notes
- Today is an EHS A Day
- Looking ahead – normal week this week
- StepUp Day March 23rd (no CAWD or CTE classes)
- EHS classes in session
- No CTE Classes on March 24th
- StepUp Day March 23rd (no CAWD or CTE classes)
- Tom – Hireability Meeting on Friday at 11am
- Eric – Hireability Meeting on Friday at 10am
- YRBS Survey at 9:45 tomorrow – after we’ll do PSA work
- Game Testing tomorrow – all will participate – starting at 10:45am
- PSA Facts Swap – tomorrow morning?
- Do you have your facts and messaging down
- Use this Worksheet to place your PSA facts
- We’ll do a quick swap of information on Wednesday
9:50 PSA Work Session w/mini lesson on Blender Drivers

Use your storyboard to guide your production. Set a goal and use your afternoon time this week to work on your PSA. We’ll have work time this week each day from 9:50 – 10:35.
Animatic (which is a preliminary version with sound)will be due for showcase next Monday. Your animatic can and should be a viewport render.
Discussing StoryArc and PSAs Asset Modeling Story ideas |
Asset Modeling Scene and set design |
Scene and Set Design Character Rigging General Blocking |
Camera Set Ups |
Week 25 – March 13th – 17th |
Lighting / Scene Set Ups Animatics (preliminary version of your project with sound) – Due Monday morning – March 20th First Looks and feedback |
Week 26 – March 20th – 24th – Second Looks – Maybe one more week after |
Second Looks / Feedback Editing |
Week 27 – March 27th – March 31 |
Final Editing and Publishing |
10:35 Break

10:45 English with Mx. Yopp

11:30 Simple Movement

Programming can be fun. Practice will help you make connections to coding with C#. There may (most likely will be) a quiz on Friday of our review material from this week.
This morning, let’s look at moving, rotating and scaling game objects using c# scripting.
Create a New 2D Project in your Dev folder. Name it GameProgramming
Download, Unzip and add this folder into your project. We’ll use some of these sprites for practice.
Transform Component
You were introduced to the Transform component in earlier work we have done. Every GameObject has a default Transform component that can control the sprite’s position (X and Y coordinates), rotation (angle), and scale (size). Since the Transform component is required, you cannot remove it from a GameObject or create a GameObject without this component.
In a 2D game, rotation happens on the Z axis.
Calling Functions
A function is a pre-written block of code that belongs to some object. You call or run a function to perform a task.
To call a function, you need to start by writing the name of the object that owns the function. Then add a dot (.) and the name of the function you want to call. After the function name comes opening and closing parentheses ( and ), followed by a semicolon. If you need to pass data values into the function, those parameters are placed inside the parentheses, separated by commas.
object.function(parameter 1, parameter2, ...);
Translate()function
To move a sprite, we want to call the Translate() function on the transform object.
The Translate() function requires three parameters – values for the change in X, the change in Y, and the change in the Z properties.
transform.Translate(x-change, y-change, z-change);
The Update() function within the game loop is a great place to update the sprite’s position.
We can use Time.deltaTime as part of the input to the Translate() method, so game objects move at a consistent speed on most computers. This will make your GameObject move smoother.

void Update()
{
transform.Translate(Time.deltaTime, 0.0f, 0.0f);
}
Rotation
The angle of an object’s rotation (or spin) is measured in degrees. By default, an object has 0 degrees of rotation. You can spin counterclockwise by using positive degree values between 0 and 360.

If you use a negative rotation value, then the object will spin clockwise instead.
Normally in a 2D game, you’ll just want to rotate around the “Z” axis.
If we want to rotate our spaceship object counter-clockwise on the screen. We can do this by calling the Rotate() function on the transform component.
transform.Rotate(x-change, y-change, z-change);
I we are using Time.deltaTime, it will cause our ship to rotate at a rate of 1 degree per second. Since there are 360 degrees in a circle, it will take 6 minutes to make a single full rotation!
If we multiply Time.deltaTime by 360 it will rotate our ship a full turn each second
Scale
The third set of properties in the Transform component is the Scale settings. These
settings will make a sprite grow or shrink on the screen.
Unfortunately, the Transform component does not have a handy function like Translate() or Rotate() to change the scale values. Instead, we need to manually add new values to the existing scale settings.
transform.localScale += new Vector3(x-change, y-change, z-change);
So to make this easier we will use the “+=” characters, which means take the value following on the right side and add it into the property on the left side.
12:15 Lunch

12:45 Literacy in Practice

1:10 Break

1:20 20% Production Time & Guided Support
- PSA Animatic due for viewing Monday, March 20th
- SkillsUSA Practice
- 2D Walking Animation – Due Tomorrow
- Lip Sync project planning
- PSA Facts Sheet