Browse Source

Added two versions of pong using visual script:

-One regular one and one (direct port of the tutorial demo)
-One using more advanced godot concepts
Juan Linietsky 9 years ago
parent
commit
109b704ae3

BIN
visual_script/pong/ball.png


+ 22 - 0
visual_script/pong/engine.cfg

@@ -0,0 +1,22 @@
+[application]
+
+name="Pong Visual Script"
+main_scene="pong.tscn"
+icon="res://icon.png"
+
+[display]
+
+width=640
+height=400
+stretch_2d=true
+
+[input]
+
+left_move_up=[key(A)]
+left_move_down=[key(Z)]
+right_move_up=[key(Up)]
+right_move_down=[key(Down)]
+
+[render]
+
+default_clear_color=#ff000000

BIN
visual_script/pong/icon.png


BIN
visual_script/pong/left_pallete.png


+ 33 - 0
visual_script/pong/pong.tscn

@@ -0,0 +1,33 @@
+[gd_scene load_steps=6 format=1]
+
+[ext_resource path="res://pong.vs" type="Script" id=1]
+[ext_resource path="res://left_pallete.png" type="Texture" id=2]
+[ext_resource path="res://right_pallete.png" type="Texture" id=3]
+[ext_resource path="res://separator.png" type="Texture" id=4]
+[ext_resource path="res://ball.png" type="Texture" id=5]
+
+[node name="game" type="Node2D"]
+
+script/script = ExtResource( 1 )
+
+[node name="left" type="Sprite" parent="."]
+
+transform/pos = Vector2( 67.6875, 183.208 )
+texture = ExtResource( 2 )
+
+[node name="right" type="Sprite" parent="."]
+
+transform/pos = Vector2( 577, 187 )
+texture = ExtResource( 3 )
+
+[node name="separator" type="Sprite" parent="."]
+
+transform/pos = Vector2( 320, 200 )
+texture = ExtResource( 4 )
+
+[node name="ball" type="Sprite" parent="."]
+
+transform/pos = Vector2( 320, 200 )
+texture = ExtResource( 5 )
+
+

BIN
visual_script/pong/pong.vs


BIN
visual_script/pong/right_pallete.png


BIN
visual_script/pong/separator.png


BIN
visual_script/pong2/ball.png


BIN
visual_script/pong2/ball.vs


+ 22 - 0
visual_script/pong2/engine.cfg

@@ -0,0 +1,22 @@
+[application]
+
+name="Pong Visual Script 2"
+main_scene="pong.tscn"
+icon="res://icon.png"
+
+[display]
+
+width=640
+height=400
+stretch_2d=true
+
+[input]
+
+left_move_up=[key(A)]
+left_move_down=[key(Z)]
+right_move_up=[key(Up)]
+right_move_down=[key(Down)]
+
+[render]
+
+default_clear_color=#ff000000

BIN
visual_script/pong2/icon.png


BIN
visual_script/pong2/pallete.png


+ 34 - 0
visual_script/pong2/pallete.tscn

@@ -0,0 +1,34 @@
+[gd_scene load_steps=4 format=1]
+
+[ext_resource path="res://pallete.vs" type="Script" id=1]
+[ext_resource path="res://pallete.png" type="Texture" id=2]
+
+[sub_resource type="CapsuleShape2D" id=1]
+
+custom_solver_bias = 0.0
+radius = 4.84212
+height = 23.6002
+
+[node name="pallete" type="Area2D"]
+
+input/pickable = false
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+script/script = ExtResource( 1 )
+
+[node name="sprite" type="Sprite" parent="."]
+
+texture = ExtResource( 2 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = 0
+
+

BIN
visual_script/pong2/pallete.vs


+ 145 - 0
visual_script/pong2/pong.tscn

@@ -0,0 +1,145 @@
+[gd_scene load_steps=8 format=1]
+
+[ext_resource path="res://separator.png" type="Texture" id=1]
+[ext_resource path="res://ball.vs" type="Script" id=2]
+[ext_resource path="res://ball.png" type="Texture" id=3]
+[ext_resource path="res://pallete.tscn" type="PackedScene" id=4]
+
+[sub_resource type="CircleShape2D" id=3]
+
+custom_solver_bias = 0.0
+radius = 4.74303
+
+[sub_resource type="RectangleShape2D" id=1]
+
+custom_solver_bias = 0.0
+extents = Vector2( 320, 10 )
+
+[sub_resource type="RectangleShape2D" id=2]
+
+custom_solver_bias = 0.0
+extents = Vector2( 10, 200 )
+
+[node name="game" type="Node2D"]
+
+[node name="separator" type="Sprite" parent="."]
+
+transform/pos = Vector2( 320, 200 )
+texture = ExtResource( 1 )
+
+[node name="ball" type="Area2D" parent="."]
+
+transform/pos = Vector2( 320.29, 195.901 )
+input/pickable = true
+shapes/0/shape = SubResource( 3 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+script/script = ExtResource( 2 )
+
+[node name="ball" type="Sprite" parent="ball"]
+
+texture = ExtResource( 3 )
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="ball"]
+
+shape = SubResource( 3 )
+trigger = false
+_update_shape_index = 0
+
+[node name="left" parent="." instance=ExtResource( 4 )]
+
+transform/pos = Vector2( 59, 199 )
+
+[node name="sprite" parent="left"]
+
+modulate = Color( 0, 0.929686, 1, 1 )
+
+[node name="right" parent="." instance=ExtResource( 4 )]
+
+transform/pos = Vector2( 564, 197 )
+
+[node name="sprite" parent="right"]
+
+modulate = Color( 1, 0, 1, 1 )
+
+[node name="top_margin" type="Area2D" parent="."]
+
+input/pickable = true
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 320, -10 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+
+[node name="shape" type="CollisionShape2D" parent="top_margin"]
+
+transform/pos = Vector2( 320, -10 )
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = 0
+
+[node name="bottom_margin" type="Area2D" parent="."]
+
+input/pickable = true
+shapes/0/shape = SubResource( 1 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 320, 410 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+
+[node name="shape" type="CollisionShape2D" parent="bottom_margin"]
+
+transform/pos = Vector2( 320, 410 )
+shape = SubResource( 1 )
+trigger = false
+_update_shape_index = 0
+
+[node name="left_margin" type="Area2D" parent="."]
+
+input/pickable = true
+shapes/0/shape = SubResource( 2 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, -10, 200 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+
+[node name="shape" type="CollisionShape2D" parent="left_margin"]
+
+transform/pos = Vector2( -10, 200 )
+shape = SubResource( 2 )
+trigger = false
+_update_shape_index = 0
+
+[node name="right_margin" type="Area2D" parent="."]
+
+input/pickable = true
+shapes/0/shape = SubResource( 2 )
+shapes/0/transform = Matrix32( 1, 0, 0, 1, 650, 200 )
+shapes/0/trigger = false
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+
+[node name="shape" type="CollisionShape2D" parent="right_margin"]
+
+transform/pos = Vector2( 650, 200 )
+shape = SubResource( 2 )
+trigger = false
+_update_shape_index = 0
+
+[connection signal="area_enter" from="ball" to="ball" method="_on_ball_area_enter"]
+
+
+[editable path="left"]
+[editable path="right"]

BIN
visual_script/pong2/pong.vs


BIN
visual_script/pong2/separator.png