Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Web and personalized recommendations.Start Your Free Trial Now
- View Offline
- Installing EaselJS
- Understanding how Canvas draws and animates
- Drawing lines and strokes
- Drawing with graphic primitives
- Using the chaining and compacting commands
- Animating shapes
- Working with text
- Importing bitmaps and vector graphics
- Working with sprite sheets
- Handling mouse events
Skill Level Beginner
Text is really easy to do with the EaselJS Library. It's pretty identical to working with text in Canvas. Text, like shapes and bitmaps, is a child of the DisplayObject class, so it inherits animation methods and properties. That means that you can transform and animate it just like you can a shape. It also extends the DisplayObject class to add some text features, so let's take a look. I want to start off with a basic HTML template, so if you haven't already, make sure you watch the video on creating a template and installing EaselJS.
My script file is already going to have a canvas object pointing to the EaselID in our HTML as well as a stage, and the stage is going to be set to automatically update. To create some text, first you create a variable and use the text class. Then you'll need to modify the text property of the variable you just created. We also need to add the sentence as a child of the stage. So let's go ahead and save this and preview it, and you can see the text already appearing right here at the top of the canvas. So there are three properties you can use to set the text, of course we have already seen the text property, but you also have a font property as well as a color property.
So let's try changing the font of this text. This property takes most normal CSS strings. Now you can also set the color with the Color property and that just takes a normal CSS color. With EaselJS text you can also pass these properties along when you instantiate the object. So I can grab these and pass them along to the text class when I create the object, and you'll see this done a lot on examples. And let me delete these, save it and refresh, you see it's exactly the same thing.
Once you create some text, because it's a child of the DisplayObject class, you can use any transformations you can with shapes. So if you will learn more about transforming the DisplayObject, make sure you watch the movie on transforming and animating shapes. Let's go ahead and change the X and Y position of this text, and I'll save it and now that text is positioned right here. Let's go ahead and move it into the left a little bit. As I mentioned, because it inherits the DisplayObject class, you can do any type of transformation like you would a shape. So we can change the rotation by changing the rotation properties and use 30 as the value, so it's rotated 30 degrees.
The interesting thing about the text class is that it extends the DisplayObject by adding additional properties. So let's take a look at some of those. I'll get rid of this rotation. Let's go ahead and set the alignment of the text and now the text is centered around that point of origin. You can also set a lineWidth. That will wrap the text around that line. Let's go ahead and move that text up a little bit. lineHeight will change the vertical distance between baselines, sort of like letting or line spacing. You can see the lines are much more spread out.
There are some other options we can experiment with. EaselJS text is not particularly complicated but because it inherits the DisplayObject, it behaves like a combination of graphics and shapes.