瀏覽代碼

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 10 年之前
父節點
當前提交
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
+
+

二進制
2d/dynamic_collision_shapes/ball.png


二進制
2d/dynamic_collision_shapes/ball.scn


二進制
2d/dynamic_collision_shapes/box.png


二進制
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
+
+

二進制
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"

二進制
2d/dynamic_collision_shapes/poly.png


二進制
2d/isometric/dungeon.scn


二進制
2d/lights_shadows/light_shadows.scn


文件差異過大導致無法顯示
+ 4 - 20
2d/platformer/stage.xml


部分文件因文件數量過多而無法顯示