Character Movement

12 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€59.88
List Price:  €85.55
You save:  €25.66
£51.91
List Price:  £74.16
You save:  £22.25
CA$96.55
List Price:  CA$137.94
You save:  CA$41.38
A$106.94
List Price:  A$152.78
You save:  A$45.84
S$90.06
List Price:  S$128.67
You save:  S$38.60
HK$546.11
List Price:  HK$780.19
You save:  HK$234.08
CHF 56.21
List Price:  CHF 80.30
You save:  CHF 24.09
NOK kr703
List Price:  NOK kr1,004.34
You save:  NOK kr301.33
DKK kr447.02
List Price:  DKK kr638.63
You save:  DKK kr191.60
NZ$119.09
List Price:  NZ$170.14
You save:  NZ$51.04
د.إ257.03
List Price:  د.إ367.21
You save:  د.إ110.17
৳8,520.17
List Price:  ৳12,172.20
You save:  ৳3,652.02
₹6,177.29
List Price:  ₹8,825.07
You save:  ₹2,647.78
RM295.62
List Price:  RM422.33
You save:  RM126.71
₦106,975.51
List Price:  ₦152,828.71
You save:  ₦45,853.20
₨19,868.89
List Price:  ₨28,385.35
You save:  ₨8,516.45
฿2,253.18
List Price:  ฿3,218.97
You save:  ฿965.79
₺2,887.40
List Price:  ₺4,125.04
You save:  ₺1,237.63
B$381.29
List Price:  B$544.72
You save:  B$163.43
R1,237.85
List Price:  R1,768.44
You save:  R530.58
Лв117.23
List Price:  Лв167.48
You save:  Лв50.25
₩97,299.65
List Price:  ₩139,005.46
You save:  ₩41,705.80
₪233.76
List Price:  ₪333.96
You save:  ₪100.19
₱3,982.74
List Price:  ₱5,689.88
You save:  ₱1,707.13
¥10,370.72
List Price:  ¥14,815.95
You save:  ¥4,445.23
MX$1,307.18
List Price:  MX$1,867.49
You save:  MX$560.30
QR254.81
List Price:  QR364.04
You save:  QR109.22
P1,007.37
List Price:  P1,439.16
You save:  P431.79
KSh9,042.70
List Price:  KSh12,918.70
You save:  KSh3,876
E£3,398.02
List Price:  E£4,854.53
You save:  E£1,456.50
ብር10,014.21
List Price:  ብር14,306.63
You save:  ብር4,292.42
Kz63,827.73
List Price:  Kz91,186.39
You save:  Kz27,358.65
CLP$68,047.07
List Price:  CLP$97,214.27
You save:  CLP$29,167.20
CN¥499.08
List Price:  CN¥713
You save:  CN¥213.92
RD$4,438.06
List Price:  RD$6,340.36
You save:  RD$1,902.30
DA9,089.14
List Price:  DA12,985.04
You save:  DA3,895.90
FJ$157.92
List Price:  FJ$225.61
You save:  FJ$67.69
Q537.12
List Price:  Q767.35
You save:  Q230.23
GY$14,646.12
List Price:  GY$20,923.93
You save:  GY$6,277.80
ISK kr8,575.17
List Price:  ISK kr12,250.77
You save:  ISK kr3,675.60
DH635.26
List Price:  DH907.55
You save:  DH272.29
L1,173.39
List Price:  L1,676.34
You save:  L502.95
ден3,696.82
List Price:  ден5,281.40
You save:  ден1,584.57
MOP$562.45
List Price:  MOP$803.54
You save:  MOP$241.08
N$1,241.62
List Price:  N$1,773.82
You save:  N$532.20
C$2,576.11
List Price:  C$3,680.31
You save:  C$1,104.20
रु9,866.78
List Price:  रु14,096.01
You save:  रु4,229.22
S/246.53
List Price:  S/352.21
You save:  S/105.67
K296.66
List Price:  K423.82
You save:  K127.15
SAR262.61
List Price:  SAR375.17
You save:  SAR112.56
ZK1,665.94
List Price:  ZK2,380.02
You save:  ZK714.07
L304.15
List Price:  L434.52
You save:  L130.37
Kč1,463.14
List Price:  Kč2,090.29
You save:  Kč627.14
Ft23,530.45
List Price:  Ft33,616.37
You save:  Ft10,085.92
SEK kr658.63
List Price:  SEK kr940.94
You save:  SEK kr282.31
ARS$95,361.78
List Price:  ARS$136,236.96
You save:  ARS$40,875.17
Bs483.93
List Price:  Bs691.36
You save:  Bs207.43
COP$279,578.30
List Price:  COP$399,414.69
You save:  COP$119,836.39
₡35,391.50
List Price:  ₡50,561.46
You save:  ₡15,169.95
L1,834.15
List Price:  L2,620.33
You save:  L786.18
₲504,626.01
List Price:  ₲720,925.20
You save:  ₲216,299.19
$U2,804.51
List Price:  $U4,006.62
You save:  $U1,202.10
zł254.73
List Price:  zł363.92
You save:  zł109.18
Already have an account? Log In

Transcript

Create a new script for our character. To do that, click on Add Component, script script. And you can create any name you like. I choose movement. Let's create an ad. All right, the component was created.

And now we can open it. Right click Edit script. In this lesson we will talk about movement and get to know input. input is a class, which helps us to read a user's inputs. For example, I want my character to deactivate when I press the spacebar. To do that, I need to catch the moment when a user present this particular button and then the activate the game object.

So let's go inside the update function. All right, and now we need to declare our object. Public to be public. The type is game object. The name is arch. All right.

So let's take a look. input is the class and geeky up is a public function inside this class. Since it is public, we can see it and we can Use it. Besides get key up, we have a bunch of other functions here, like, I'll show you input, get key down or get key. So as judges, and get key up is working when a user releases a button, while get key down is working when he presses it. Okay, get key up is a function.

We opened parenthesis and declared what buttons to use by typing key code. key code consists of all the buttons we got on the keyboard or joystick. I choose space. We've done with that condition. It was their condition. If a user presses and really He says space.

Now we decide what is happening. In that case, I want my object to deactivate. And as you might figured, that active D activates or activates the object where true activates the game, object and false deactivated. All right, let's save our script and go back to unity. And now we have this object slot. Because in our script, we have a public variable object that has type game object.

So I just drag and drop my scored man to this slot. Let's click on play. And so nothing's happening. And now I press the spacebar and then I release that spacebar my character deactivates. He will not come back in plain mode because we haven't killed it yet. Let's change our game object to the head.

All right. Let's see. space. So no head. kind of creepy again. All right.

Now I want my character to move right when a user presses that right arrow or letter D, and move left when he presses the left arrow or letter H. Let's delete this. First of all, I need to declare the variables which defines the characters speed, mostly The parameters in unity are float numbers. So I declare the float variable, public type float, name movespeed. Of course, you can create any name you want. And let it be 10. And remember, if you are declaring load variable, don't forget to type f after the number that's go inside the update function again.

All right, I'm using that again. So I use get key in this case, because let's move that cursor over it. So right now it returns true, wildly while the user holds down the key identified by the Key key code in parameter. So it means that our character is moving while we are holding the button. He will not just make a one tap and stop, no, he will continue his movement. Alright, so we have a condition.

Now let's take that transform component and translate it in a particular direction by creating an u vector, vector three and I multiply it by move speed and time Delta time. So what does it mean vector three is a structure in Unity engine. And for you to understand structure is quite similar with a class. This structure is used throughout unity to pass 3d positions and directions around. It also contains functions for doing common vector operations. So I use New to create a new object from it, new vector with three components, x, y and Zed.

Since we are making a 2d game, we can manage only two, x and y. If you're making a 3d game, you have the third access that next we have our move speed, which controls our movement and time delta time that competition time in seconds since the last frame, it provides the time between the current and previous frame. And we really needed inside the update function. Because if our game slows down, our object will Twitch and time delta time helps to smooth out a movement. All right, let's copy it and create a function for the right arrow. This time I don't use the game object variable.

Here we have our script as a sward man's component. So it will work for this particular game object. And if I want, for example, to move other game objects, I can create and use grouped for them and I can better control my code? All right, so we have our movespeed here, and we can control it. But right now let's just enter that plain mode. All right, I press the left arrow, press the right arrow.

And yeah, my character is moving. Let's change the move spirit to three, for example. Move mo and his stuffs when I when I release the button. Okay, that's awesome. But I'd like to show you the other way to move your character. We're going to use access this time.

Still live it, I create a float variable age equal to input. Get access. Get access uses our access and instead of horizontal, the string here may be vertical and not longer this. If you go if you go back to our project, then go to Edit Project Settings and find out input. Here we have access and we see all the axes we can use. We can also see the reserved balance for each axis and even change them.

For example, Don't want a and d can choose that and x. Okay, let's go back to our script my next step is to declare a variable inside of vector three, it is a vector with new coordinates. X is a horizontal position and we type H, this is our age variable. And after that I take the position element from an object transform component. So previous position plus movement variable multiply by move speed and time delta time. Okay Okay, here's my arrows and my object is moving.

All right. And I can also use a nd. And it is really useful because some users prefer to use a and d buttons, others like arrows, and our game is perfect for both of them. I have shown you two options, how to code and movement, but there are many of them. And I just want you to understand that in coding, there are always many solutions for one problem.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.