Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions getting_started/first_3d_game/04.mob_scene.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ and ``max_speed``, to define a random speed range, which we will later use to de
extends CharacterBody3D

# Minimum speed of the mob in meters per second.
@export var min_speed = 10
@export var min_speed = 10.0
# Maximum speed of the mob in meters per second.
@export var max_speed = 18
@export var max_speed = 18.0


func _physics_process(_delta):
Expand All @@ -125,10 +125,10 @@ and ``max_speed``, to define a random speed range, which we will later use to de

// Minimum speed of the mob in meters per second
[Export]
public int MinSpeed { get; set; } = 10;
public float MinSpeed { get; set; } = 10.0f;
// Maximum speed of the mob in meters per second
[Export]
public int MaxSpeed { get; set; } = 18;
public float MaxSpeed { get; set; } = 18.0f;

public override void _PhysicsProcess(double delta)
{
Expand Down Expand Up @@ -178,17 +178,17 @@ between ``-PI / 4`` radians and ``PI / 4`` radians.
RotateY((float)GD.RandRange(-Mathf.Pi / 4.0, Mathf.Pi / 4.0));
}

We got a random position, now we need a ``random_speed``. ``randi_range()`` will be useful as it gives random int values, and we will use ``min_speed`` and ``max_speed``.
``random_speed`` is just an integer, and we just use it to multiply our ``CharacterBody3D.velocity``. After ``random_speed`` is applied, we rotate ``CharacterBody3D.velocity`` Vector3 towards the player.
We got a random position, now we need a ``random_speed``. ``randf_range()`` will be useful as it gives random float values, and we will use ``min_speed`` and ``max_speed``.
``random_speed`` is just an float, and we just use it to multiply our ``CharacterBody3D.velocity``. After ``random_speed`` is applied, we rotate ``CharacterBody3D.velocity`` Vector3 towards the player.

.. tabs::
.. code-tab:: gdscript GDScript

func initialize(start_position, player_position):
# ...

# We calculate a random speed (integer)
var random_speed = randi_range(min_speed, max_speed)
# We calculate a random speed (float)
var random_speed = randf_range(min_speed, max_speed)
# We calculate a forward velocity that represents the speed.
velocity = Vector3.FORWARD * random_speed
# We then rotate the velocity vector based on the mob's Y rotation
Expand All @@ -201,8 +201,8 @@ We got a random position, now we need a ``random_speed``. ``randi_range()`` will
{
// ...

// We calculate a random speed (integer).
int randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a random speed (float).
float randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a forward velocity that represents the speed.
Velocity = Vector3.Forward * randomSpeed;
// We then rotate the velocity vector based on the mob's Y rotation
Expand Down Expand Up @@ -255,9 +255,9 @@ Here is the complete ``mob.gd`` script for reference.
extends CharacterBody3D

# Minimum speed of the mob in meters per second.
@export var min_speed = 10
@export var min_speed = 10.0
# Maximum speed of the mob in meters per second.
@export var max_speed = 18
@export var max_speed = 18.0

func _physics_process(_delta):
move_and_slide()
Expand All @@ -271,8 +271,8 @@ Here is the complete ``mob.gd`` script for reference.
# so that it doesn't move directly towards the player.
rotate_y(randf_range(-PI / 4, PI / 4))

# We calculate a random speed (integer)
var random_speed = randi_range(min_speed, max_speed)
# We calculate a random speed (float)
var random_speed = randf_range(min_speed, max_speed)
# We calculate a forward velocity that represents the speed.
velocity = Vector3.FORWARD * random_speed
# We then rotate the velocity vector based on the mob's Y rotation
Expand All @@ -290,10 +290,10 @@ Here is the complete ``mob.gd`` script for reference.
{
// Minimum speed of the mob in meters per second.
[Export]
public int MinSpeed { get; set; } = 10;
public float MinSpeed { get; set; } = 10.0f;
// Maximum speed of the mob in meters per second.
[Export]
public int MaxSpeed { get; set; } = 18;
public float MaxSpeed { get; set; } = 18.0f;

public override void _PhysicsProcess(double delta)
{
Expand All @@ -310,8 +310,8 @@ Here is the complete ``mob.gd`` script for reference.
// so that it doesn't move directly towards the player.
RotateY((float)GD.RandRange(-Mathf.Pi / 4.0, Mathf.Pi / 4.0));

// We calculate a random speed (integer).
int randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a random speed (float).
float randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a forward velocity that represents the speed.
Velocity = Vector3.Forward * randomSpeed;
// We then rotate the velocity vector based on the mob's Y rotation
Expand Down
16 changes: 8 additions & 8 deletions getting_started/first_3d_game/07.killing_player.rst
Original file line number Diff line number Diff line change
Expand Up @@ -221,9 +221,9 @@ Next is ``mob.gd``.
extends CharacterBody3D

# Minimum speed of the mob in meters per second.
@export var min_speed = 10
@export var min_speed = 10.0
# Maximum speed of the mob in meters per second.
@export var max_speed = 18
@export var max_speed = 18.0

# Emitted when the player jumped on the mob
signal squashed
Expand All @@ -240,8 +240,8 @@ Next is ``mob.gd``.
# so that it doesn't move directly towards the player.
rotate_y(randf_range(-PI / 4, PI / 4))

# We calculate a random speed (integer)
var random_speed = randi_range(min_speed, max_speed)
# We calculate a random speed (float)
var random_speed = randf_range(min_speed, max_speed)
# We calculate a forward velocity that represents the speed.
velocity = Vector3.FORWARD * random_speed
# We then rotate the velocity vector based on the mob's Y rotation
Expand All @@ -267,10 +267,10 @@ Next is ``mob.gd``.

// Minimum speed of the mob in meters per second
[Export]
public int MinSpeed { get; set; } = 10;
public float MinSpeed { get; set; } = 10.0f;
// Maximum speed of the mob in meters per second
[Export]
public int MaxSpeed { get; set; } = 18;
public float MaxSpeed { get; set; } = 18.0f;

public override void _PhysicsProcess(double delta)
{
Expand All @@ -287,8 +287,8 @@ Next is ``mob.gd``.
// so that it doesn't move directly towards the player.
RotateY((float)GD.RandRange(-Mathf.Pi / 4.0, Mathf.Pi / 4.0));

// We calculate a random speed (integer)
int randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a random speed (float)
float randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a forward velocity that represents the speed.
Velocity = Vector3.Forward * randomSpeed;
// We then rotate the velocity vector based on the mob's Y rotation
Expand Down
16 changes: 8 additions & 8 deletions getting_started/first_3d_game/09.adding_animations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -522,9 +522,9 @@ And the *Mob*'s script.
extends CharacterBody3D

# Minimum speed of the mob in meters per second.
@export var min_speed = 10
@export var min_speed = 10.0
# Maximum speed of the mob in meters per second.
@export var max_speed = 18
@export var max_speed = 18.0

# Emitted when the player jumped on the mob
signal squashed
Expand All @@ -541,8 +541,8 @@ And the *Mob*'s script.
# so that it doesn't move directly towards the player.
rotate_y(randf_range(-PI / 4, PI / 4))

# We calculate a random speed (integer)
var random_speed = randi_range(min_speed, max_speed)
# We calculate a random speed (float)
var random_speed = randf_range(min_speed, max_speed)
# We calculate a forward velocity that represents the speed.
velocity = Vector3.FORWARD * random_speed
# We then rotate the velocity vector based on the mob's Y rotation
Expand Down Expand Up @@ -570,10 +570,10 @@ And the *Mob*'s script.

// Minimum speed of the mob in meters per second
[Export]
public int MinSpeed { get; set; } = 10;
public float MinSpeed { get; set; } = 10.0f;
// Maximum speed of the mob in meters per second
[Export]
public int MaxSpeed { get; set; } = 18;
public float MaxSpeed { get; set; } = 18.0f;

public override void _PhysicsProcess(double delta)
{
Expand All @@ -590,8 +590,8 @@ And the *Mob*'s script.
// so that it doesn't move directly towards the player.
RotateY((float)GD.RandRange(-Mathf.Pi / 4.0, Mathf.Pi / 4.0));

// We calculate a random speed (integer).
int randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a random speed (float).
float randomSpeed = GD.RandRange(MinSpeed, MaxSpeed);
// We calculate a forward velocity that represents the speed.
Velocity = Vector3.Forward * randomSpeed;
// We then rotate the velocity vector based on the mob's Y rotation
Expand Down
Loading