mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2025-12-16 13:30:07 +01:00
Minor tweaks to Pong and Dodge the Creeps
This commit is contained in:
@@ -44,8 +44,8 @@ func _on_MobTimer_timeout():
|
|||||||
direction += rand_range(-PI / 4, PI / 4)
|
direction += rand_range(-PI / 4, PI / 4)
|
||||||
mob.rotation = direction
|
mob.rotation = direction
|
||||||
|
|
||||||
# Choose the velocity.
|
# Choose the velocity for the mob.
|
||||||
var velocity = Vector2(rand_range(mob.min_speed, mob.max_speed), 0)
|
var velocity = Vector2(rand_range(150.0, 250.0), 0.0)
|
||||||
mob.linear_velocity = velocity.rotated(direction)
|
mob.linear_velocity = velocity.rotated(direction)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,5 @@
|
|||||||
extends RigidBody2D
|
extends RigidBody2D
|
||||||
|
|
||||||
#warning-ignore-all:unused_class_variable
|
|
||||||
export var min_speed = 150
|
|
||||||
export var max_speed = 250
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$AnimatedSprite.playing = true
|
$AnimatedSprite.playing = true
|
||||||
var mob_types = $AnimatedSprite.frames.get_animation_names()
|
var mob_types = $AnimatedSprite.frames.get_animation_names()
|
||||||
@@ -12,7 +8,3 @@ func _ready():
|
|||||||
|
|
||||||
func _on_VisibilityNotifier2D_screen_exited():
|
func _on_VisibilityNotifier2D_screen_exited():
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
func _on_start_game():
|
|
||||||
queue_free()
|
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ Renderer: GLES 3 (particles are not available in GLES 2)
|
|||||||
|
|
||||||
Note: There is a C# version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/mono/dodge_the_creeps).
|
Note: There is a C# version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/mono/dodge_the_creeps).
|
||||||
|
|
||||||
|
Note: There is a GDNative C++ version available [here](https://github.com/godotengine/gdnative-demos/tree/master/cpp/dodge_the_creeps).
|
||||||
|
|
||||||
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/515
|
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/515
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ Note: There is a C# version available [here](https://github.com/godotengine/godo
|
|||||||
|
|
||||||
Note: There is a VisualScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/visual_script/pong).
|
Note: There is a VisualScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/visual_script/pong).
|
||||||
|
|
||||||
|
Note: There is a GDNative C++ version available [here](https://github.com/godotengine/gdnative-demos/tree/master/cpp/pong).
|
||||||
|
|
||||||
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/121
|
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/121
|
||||||
|
|
||||||
## How does it work?
|
## How does it work?
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ extends Area2D
|
|||||||
|
|
||||||
const DEFAULT_SPEED = 100
|
const DEFAULT_SPEED = 100
|
||||||
|
|
||||||
|
var _speed = DEFAULT_SPEED
|
||||||
var direction = Vector2.LEFT
|
var direction = Vector2.LEFT
|
||||||
|
|
||||||
onready var _initial_pos = position
|
onready var _initial_pos = position
|
||||||
onready var _speed = DEFAULT_SPEED
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
_speed += delta * 2
|
_speed += delta * 2
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ var _loaded = false
|
|||||||
func _enter_tree():
|
func _enter_tree():
|
||||||
if Settings._loaded:
|
if Settings._loaded:
|
||||||
printerr("Error: Settings is an AutoLoad singleton and it shouldn't be instanced elsewhere.")
|
printerr("Error: Settings is an AutoLoad singleton and it shouldn't be instanced elsewhere.")
|
||||||
printerr("Please delete the instance at: " + get_path())
|
printerr("Please delete the instance at: " + String(get_path()))
|
||||||
else:
|
else:
|
||||||
Settings._loaded = true
|
Settings._loaded = true
|
||||||
|
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ public class Main : Node
|
|||||||
direction += (float)GD.RandRange(-Mathf.Pi / 4, Mathf.Pi / 4);
|
direction += (float)GD.RandRange(-Mathf.Pi / 4, Mathf.Pi / 4);
|
||||||
mob.Rotation = direction;
|
mob.Rotation = direction;
|
||||||
|
|
||||||
// Choose the velocity.
|
// Choose the velocity for the mob.
|
||||||
var velocity = new Vector2((float)GD.RandRange(mob.minSpeed, mob.maxSpeed), 0);
|
var velocity = new Vector2((float)GD.RandRange(150.0, 250.0), 0);
|
||||||
mob.LinearVelocity = velocity.Rotated(direction);
|
mob.LinearVelocity = velocity.Rotated(direction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,7 @@
|
|||||||
using Godot;
|
using Godot;
|
||||||
using System;
|
|
||||||
|
|
||||||
public class Mob : RigidBody2D
|
public class Mob : RigidBody2D
|
||||||
{
|
{
|
||||||
[Export]
|
|
||||||
public int minSpeed;
|
|
||||||
|
|
||||||
[Export]
|
|
||||||
public int maxSpeed;
|
|
||||||
|
|
||||||
public override void _Ready()
|
public override void _Ready()
|
||||||
{
|
{
|
||||||
var animSprite = GetNode<AnimatedSprite>("AnimatedSprite");
|
var animSprite = GetNode<AnimatedSprite>("AnimatedSprite");
|
||||||
@@ -21,9 +14,4 @@ public class Mob : RigidBody2D
|
|||||||
{
|
{
|
||||||
QueueFree();
|
QueueFree();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnStartGame()
|
|
||||||
{
|
|
||||||
QueueFree();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ Renderer: GLES 3 (particles are not available in GLES 2)
|
|||||||
|
|
||||||
Note: There is a GDScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/2d/dodge_the_creeps).
|
Note: There is a GDScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/2d/dodge_the_creeps).
|
||||||
|
|
||||||
|
Note: There is a GDNative C++ version available [here](https://github.com/godotengine/gdnative-demos/tree/master/cpp/dodge_the_creeps).
|
||||||
|
|
||||||
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/534
|
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/534
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ Note: There is a GDScript version available [here](https://github.com/godotengin
|
|||||||
|
|
||||||
Note: There is a VisualScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/visual_script/pong).
|
Note: There is a VisualScript version available [here](https://github.com/godotengine/godot-demo-projects/tree/master/visual_script/pong).
|
||||||
|
|
||||||
|
Note: There is a GDNative C++ version available [here](https://github.com/godotengine/gdnative-demos/tree/master/cpp/pong).
|
||||||
|
|
||||||
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/535
|
Check out this demo on the asset library: https://godotengine.org/asset-library/asset/535
|
||||||
|
|
||||||
## How does it work?
|
## How does it work?
|
||||||
|
|||||||
@@ -12,17 +12,17 @@ func _ready():
|
|||||||
peer.connect("session_description_created", self, "_on_session")
|
peer.connect("session_description_created", self, "_on_session")
|
||||||
|
|
||||||
# Register to the local signaling server (see below for the implementation).
|
# Register to the local signaling server (see below for the implementation).
|
||||||
Signaling.register(get_path())
|
Signaling.register(String(get_path()))
|
||||||
|
|
||||||
|
|
||||||
func _on_ice_candidate(mid, index, sdp):
|
func _on_ice_candidate(mid, index, sdp):
|
||||||
# Send the ICE candidate to the other peer via signaling server.
|
# Send the ICE candidate to the other peer via signaling server.
|
||||||
Signaling.send_candidate(get_path(), mid, index, sdp)
|
Signaling.send_candidate(String(get_path()), mid, index, sdp)
|
||||||
|
|
||||||
|
|
||||||
func _on_session(type, sdp):
|
func _on_session(type, sdp):
|
||||||
# Send the session to other peer via signaling server.
|
# Send the session to other peer via signaling server.
|
||||||
Signaling.send_session(get_path(), type, sdp)
|
Signaling.send_session(String(get_path()), type, sdp)
|
||||||
# Set generated description as local.
|
# Set generated description as local.
|
||||||
peer.set_local_description(type, sdp)
|
peer.set_local_description(type, sdp)
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ func _process(delta):
|
|||||||
peer.poll()
|
peer.poll()
|
||||||
if channel.get_ready_state() == WebRTCDataChannel.STATE_OPEN:
|
if channel.get_ready_state() == WebRTCDataChannel.STATE_OPEN:
|
||||||
while channel.get_available_packet_count() > 0:
|
while channel.get_available_packet_count() > 0:
|
||||||
print(get_path(), " received: ", channel.get_packet().get_string_from_utf8())
|
print(String(get_path()), " received: ", channel.get_packet().get_string_from_utf8())
|
||||||
|
|
||||||
|
|
||||||
func send_message(message):
|
func send_message(message):
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ func _ready():
|
|||||||
|
|
||||||
# Wait a second and send message from P1
|
# Wait a second and send message from P1
|
||||||
yield(get_tree().create_timer(1), "timeout")
|
yield(get_tree().create_timer(1), "timeout")
|
||||||
p1.send_message("Hi from %s" % p1.get_path())
|
p1.send_message("Hi from %s" % String(p1.get_path()))
|
||||||
|
|
||||||
# Wait a second and send message from P2
|
# Wait a second and send message from P2
|
||||||
yield(get_tree().create_timer(1), "timeout")
|
yield(get_tree().create_timer(1), "timeout")
|
||||||
p2.send_message("Hi from %s" % p2.get_path())
|
p2.send_message("Hi from %s" % String(p2.get_path()))
|
||||||
|
|||||||
Reference in New Issue
Block a user