mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
7adf4cc9b5
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
154 lines
5.1 KiB
XML
154 lines
5.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="bool" version="4.0">
|
|
<brief_description>
|
|
Boolean built-in type.
|
|
</brief_description>
|
|
<description>
|
|
Boolean is a built-in type. There are two boolean values: [code]true[/code] and [code]false[/code]. You can think of it as a switch with on or off (1 or 0) setting. Booleans are used in programming for logic in condition statements, like [code]if[/code] statements.
|
|
Booleans can be directly used in [code]if[/code] statements. The code below demonstrates this on the [code]if can_shoot:[/code] line. You don't need to use [code]== true[/code], you only need [code]if can_shoot:[/code]. Similarly, use [code]if not can_shoot:[/code] rather than [code]== false[/code].
|
|
[codeblocks]
|
|
[gdscript]
|
|
var _can_shoot = true
|
|
|
|
func shoot():
|
|
if _can_shoot:
|
|
pass # Perform shooting actions here.
|
|
[/gdscript]
|
|
[csharp]
|
|
private bool _canShoot = true;
|
|
|
|
public void Shoot()
|
|
{
|
|
if (_canShoot)
|
|
{
|
|
// Perform shooting actions here.
|
|
}
|
|
}
|
|
[/csharp]
|
|
[/codeblocks]
|
|
The following code will only create a bullet if both conditions are met: action "shoot" is pressed and if [code]can_shoot[/code] is [code]true[/code].
|
|
[b]Note:[/b] [code]Input.is_action_pressed("shoot")[/code] is also a boolean that is [code]true[/code] when "shoot" is pressed and [code]false[/code] when "shoot" isn't pressed.
|
|
[codeblocks]
|
|
[gdscript]
|
|
var _can_shoot = true
|
|
|
|
func shoot():
|
|
if _can_shoot and Input.is_action_pressed("shoot"):
|
|
create_bullet()
|
|
[/gdscript]
|
|
[csharp]
|
|
private bool _canShoot = true;
|
|
|
|
public void Shoot()
|
|
{
|
|
if (_canShoot && Input.IsActionPressed("shoot"))
|
|
{
|
|
CreateBullet();
|
|
}
|
|
}
|
|
[/csharp]
|
|
[/codeblocks]
|
|
The following code will set [code]can_shoot[/code] to [code]false[/code] and start a timer. This will prevent player from shooting until the timer runs out. Next [code]can_shoot[/code] will be set to [code]true[/code] again allowing player to shoot once again.
|
|
[codeblocks]
|
|
[gdscript]
|
|
var _can_shoot = true
|
|
onready var _cool_down = $CoolDownTimer
|
|
|
|
func shoot():
|
|
if _can_shoot and Input.is_action_pressed("shoot"):
|
|
create_bullet()
|
|
_can_shoot = false
|
|
_cool_down.start()
|
|
|
|
func _on_CoolDownTimer_timeout():
|
|
_can_shoot = true
|
|
[/gdscript]
|
|
[csharp]
|
|
private bool _canShoot = true;
|
|
private Timer _coolDown;
|
|
|
|
public override void _Ready()
|
|
{
|
|
_coolDown = GetNode<Timer>("CoolDownTimer");
|
|
}
|
|
|
|
public void Shoot()
|
|
{
|
|
if (_canShoot && Input.IsActionPressed("shoot"))
|
|
{
|
|
CreateBullet();
|
|
_canShoot = false;
|
|
_coolDown.Start();
|
|
}
|
|
}
|
|
|
|
public void OnCoolDownTimerTimeout()
|
|
{
|
|
_canShoot = true;
|
|
}
|
|
[/csharp]
|
|
[/codeblocks]
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="bool" qualifiers="constructor">
|
|
<return type="bool" />
|
|
<description>
|
|
Constructs a default-initialized [bool] set to [code]false[/code].
|
|
</description>
|
|
</method>
|
|
<method name="bool" qualifiers="constructor">
|
|
<return type="bool" />
|
|
<argument index="0" name="from" type="bool" />
|
|
<description>
|
|
Constructs a [bool] as a copy of the given [bool].
|
|
</description>
|
|
</method>
|
|
<method name="bool" qualifiers="constructor">
|
|
<return type="bool" />
|
|
<argument index="0" name="from" type="float" />
|
|
<description>
|
|
Cast a [float] value to a boolean value, this method will return [code]false[/code] if [code]0.0[/code] is passed in, and [code]true[/code] for all other floats.
|
|
</description>
|
|
</method>
|
|
<method name="bool" qualifiers="constructor">
|
|
<return type="bool" />
|
|
<argument index="0" name="from" type="int" />
|
|
<description>
|
|
Cast an [int] value to a boolean value, this method will return [code]false[/code] if [code]0[/code] is passed in, and [code]true[/code] for all other ints.
|
|
</description>
|
|
</method>
|
|
<method name="operator !=" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if two bools are different, i.e. one is [code]true[/code] and the other is [code]false[/code].
|
|
</description>
|
|
</method>
|
|
<method name="operator <" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if left operand is [code]false[/code] and right operand is [code]true[/code].
|
|
</description>
|
|
</method>
|
|
<method name="operator ==" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code].
|
|
</description>
|
|
</method>
|
|
<method name="operator >" qualifiers="operator">
|
|
<return type="bool" />
|
|
<argument index="0" name="right" type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if left operand is [code]true[/code] and right operand is [code]false[/code].
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<constants>
|
|
</constants>
|
|
</class>
|