Using Velcro Physics with the FlatRedBall Editor
Introduction
This walkthrough shows how to add Velcro to a simple FlatRedBall project. We will create a diagonal stack of blocks which will fall and collide against a static surface. This tutorial uses the FlatRedBall desktop engine, which means it uses proper XNA (as opposed to MonoGame). MonoGame projects must use the MonoGame version of the Farseer .dll.
Creating the Block Entity
We will begin with an empty FlatRedBall project:
Add a new Block entity:
Right-click on Entities
Select Add Entity
Enter the name Block
Click OK
Next, we'll add a Sprite to the Block so we can see it in-game:
Expand the Block entity
Right-click on Objects
Select Add Object
Select Sprite
Click OK
The Sprite needs to be modified so it will show up in game:
Change the Sprite's Color Operation to Color. This allows us to use solid colors to draw the sprite instead of a texture.
Set the Red value to 1
Delete the Texture Scale value
Enter a Width of 32
Enter a Height of 32
Creating the GameScreen
Next we'll create a screen to hold our Block instances and the Farseer logic:
Right-click on Screens
Select Add Screen
Enter the name Game Screen
Click OK
GameScreen needs a Block list so that we can construct the blocks in code and have them be automatically managed. To do this:
Push and hold the right mouse button on the Block entity
Drag the entity onto GameScreen
Release the mouse button
Select Add Entity List
Adding Farseer to the Visual Studio Project
Now that our Glue project has been created, we'll add Farseer to the Visual Studio project:
Download the Farseer precompiled .dll: https://github.com/vchelaru/FlatRedBall/blob/master/Engines/FlatRedBallXNA/3rd%20Party%20Libraries/Farseer/FarseerPhysics%20XNA.dll?raw=true
Open the game project in Visual Studio
Right-click on References in Visual Studio under your game project
Select Add Reference...
Click the Browse category
Click the Browse... button
Navigate to where you saved the Farseer dll file
Select the file and click Add
Preparing the Block Entity for Farseer
We'll add the code to create a Farseer Body instance in the Block.cs file. Open the Block file and modify the class so it appears as shown in the following code:
Adding code to GameScreen
Finally we'll add code to our GameScreen . Modify your GameScreen.cs file so it looks like the following code: