Explorar o código

Ability to keep collisionshapes and collisionpolygons when running the game.
Works for 2D and 3D
These are still just helpers in case you want to animate them or access them
directly.
Modifying the real shapes is still done via CollisionObject and CollisionObject2D APIs
But an API was added so you can query which shapes from CollisionObject correspond to which CollisionShape.

Have Fun!

reduz %!s(int64=10) %!d(string=hai) anos
pai
achega
d2977d2b37

+ 21 - 0
2d/dynamic_collision_shapes/ball.gd

@@ -0,0 +1,21 @@
+
+extends RigidBody2D
+
+# member variables here, example:
+# var a=2
+# var b="textvar"
+
+var timeout=5
+
+func _process(delta):
+	timeout-=delta
+	if (timeout<1):
+		set_opacity(timeout)
+	if (timeout<0):
+		queue_free()
+func _ready():
+	set_process(true)
+	# Initialization here
+	pass
+
+

BIN=BIN
2d/dynamic_collision_shapes/ball.png


BIN=BIN
2d/dynamic_collision_shapes/ball.scn


BIN=BIN
2d/dynamic_collision_shapes/box.png


BIN=BIN
2d/dynamic_collision_shapes/circle.png


+ 23 - 0
2d/dynamic_collision_shapes/dynamic_colobjs.gd

@@ -0,0 +1,23 @@
+
+extends Node2D
+
+# member variables here, example:
+# var a=2
+# var b="textvar"
+const EMIT_INTERVAL=0.1
+var timeout=EMIT_INTERVAL
+
+func _process(delta):
+	timeout-=delta
+	if (timeout<0):
+		timeout=EMIT_INTERVAL
+		var ball = preload("res://ball.scn").instance()
+		ball.set_pos( Vector2(randf() * get_viewport_rect().size.x, 0) )
+		add_child(ball)
+			
+func _ready():
+	set_process(true)
+	# Initialization here
+	pass
+
+

BIN=BIN
2d/dynamic_collision_shapes/dynamic_colobjs.scn


+ 4 - 0
2d/dynamic_collision_shapes/engine.cfg

@@ -0,0 +1,4 @@
+[application]
+
+name="Run-Time CollisionShape"
+main_scene="res://dynamic_colobjs.scn"

BIN=BIN
2d/dynamic_collision_shapes/poly.png


BIN=BIN
2d/isometric/dungeon.scn


BIN=BIN
2d/lights_shadows/light_shadows.scn


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 4 - 20
2d/platformer/stage.xml


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio