Skip to content

Commit 7bfc57d

Browse files
authored
Merge pull request #628 from aaronfranke/skeleton2d
Add a Skeleton2D demo
2 parents 244b759 + cd48c9a commit 7bfc57d

27 files changed

+3314
-0
lines changed

2d/skeleton/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Skeleton2D Demo
2+
3+
This demo shows how to create a rigged and animated character in 2D using
4+
Godot's Skeleton2D node. There are several movement-related animations and
5+
there is a simple character controller that controls the animations.
6+
7+
Language: GDScript
8+
9+
Renderer: GLES 2
10+
11+
## Licenses
12+
13+
GBot character Copyright © circa 2020 Andreas Esau, MIT License.
14+
15+
Initial rigging and animating Copyright © 2020 RustyStriker, MIT License.

2d/skeleton/icon.png

20.3 KB
Loading

2d/skeleton/icon.png.import

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="StreamTexture"
5+
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
6+
metadata={
7+
"vram_texture": false
8+
}
9+
10+
[deps]
11+
12+
source_file="res://icon.png"
13+
dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ]
14+
15+
[params]
16+
17+
compress/mode=0
18+
compress/lossy_quality=0.7
19+
compress/hdr_mode=0
20+
compress/bptc_ldr=0
21+
compress/normal_map=0
22+
flags/repeat=0
23+
flags/filter=true
24+
flags/mipmaps=false
25+
flags/anisotropic=false
26+
flags/srgb=2
27+
process/fix_alpha_border=true
28+
process/premult_alpha=false
29+
process/HDR_as_SRGB=false
30+
process/invert_color=false
31+
stream=false
32+
size_limit=0
33+
detect_3d=true
34+
svg/scale=1.0

2d/skeleton/level.tscn

Lines changed: 353 additions & 0 deletions
Large diffs are not rendered by default.

2d/skeleton/level/background.tscn

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
[gd_scene load_steps=7 format=2]
2+
3+
[ext_resource path="res://level/background/distant_platforms_2.png" type="Texture" id=1]
4+
[ext_resource path="res://level/background/sky.png" type="Texture" id=2]
5+
[ext_resource path="res://level/background/cloud_1.png" type="Texture" id=3]
6+
[ext_resource path="res://level/background/cloud_2.png" type="Texture" id=4]
7+
[ext_resource path="res://level/background/cloud_3.png" type="Texture" id=5]
8+
[ext_resource path="res://level/background/distant_platforms_1.png" type="Texture" id=6]
9+
10+
[node name="ParallaxBackground" type="ParallaxBackground"]
11+
scroll_base_scale = Vector2( 0.4, 0 )
12+
13+
[node name="Sky" type="ParallaxLayer" parent="."]
14+
motion_mirroring = Vector2( 400, 0 )
15+
16+
[node name="Sprite" type="Sprite" parent="Sky"]
17+
scale = Vector2( 64, 0.94 )
18+
texture = ExtResource( 2 )
19+
centered = false
20+
21+
[node name="Clouds" type="ParallaxLayer" parent="."]
22+
motion_scale = Vector2( 0.1, 1 )
23+
motion_offset = Vector2( -550, 0 )
24+
25+
[node name="CloudGroup1" type="Node2D" parent="Clouds"]
26+
position = Vector2( -780, 0 )
27+
28+
[node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup1"]
29+
position = Vector2( -200, 120 )
30+
texture = ExtResource( 3 )
31+
centered = false
32+
33+
[node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup1"]
34+
position = Vector2( 100, 10 )
35+
texture = ExtResource( 3 )
36+
centered = false
37+
38+
[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup1"]
39+
position = Vector2( -60, 40 )
40+
texture = ExtResource( 4 )
41+
centered = false
42+
43+
[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup1"]
44+
position = Vector2( 150, 65 )
45+
texture = ExtResource( 4 )
46+
centered = false
47+
48+
[node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup1"]
49+
position = Vector2( 15, 75 )
50+
texture = ExtResource( 5 )
51+
centered = false
52+
53+
[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup1"]
54+
position = Vector2( 225, 35 )
55+
texture = ExtResource( 5 )
56+
centered = false
57+
58+
[node name="CloudGroup2" type="Node2D" parent="Clouds"]
59+
60+
[node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup2"]
61+
position = Vector2( -200, 120 )
62+
texture = ExtResource( 3 )
63+
centered = false
64+
65+
[node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup2"]
66+
position = Vector2( 100, 10 )
67+
texture = ExtResource( 3 )
68+
centered = false
69+
70+
[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup2"]
71+
position = Vector2( -60, 40 )
72+
texture = ExtResource( 4 )
73+
centered = false
74+
75+
[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup2"]
76+
position = Vector2( 150, 65 )
77+
texture = ExtResource( 4 )
78+
centered = false
79+
80+
[node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup2"]
81+
position = Vector2( 15, 75 )
82+
texture = ExtResource( 5 )
83+
centered = false
84+
85+
[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup2"]
86+
position = Vector2( 225, 35 )
87+
texture = ExtResource( 5 )
88+
centered = false
89+
90+
[node name="CloudGroup3" type="Node2D" parent="Clouds"]
91+
position = Vector2( 390, 0 )
92+
93+
[node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup3"]
94+
position = Vector2( -200, 120 )
95+
texture = ExtResource( 3 )
96+
centered = false
97+
98+
[node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup3"]
99+
position = Vector2( 100, 10 )
100+
texture = ExtResource( 3 )
101+
centered = false
102+
103+
[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup3"]
104+
position = Vector2( -60, 40 )
105+
texture = ExtResource( 4 )
106+
centered = false
107+
108+
[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup3"]
109+
position = Vector2( 150, 65 )
110+
texture = ExtResource( 4 )
111+
centered = false
112+
113+
[node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup3"]
114+
position = Vector2( 15, 75 )
115+
texture = ExtResource( 5 )
116+
centered = false
117+
118+
[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup3"]
119+
position = Vector2( 225, 35 )
120+
texture = ExtResource( 5 )
121+
centered = false
122+
123+
[node name="CloudGroup4" type="Node2D" parent="Clouds"]
124+
position = Vector2( 780, 0 )
125+
126+
[node name="Sprite1" type="Sprite" parent="Clouds/CloudGroup4"]
127+
position = Vector2( -200, 120 )
128+
texture = ExtResource( 3 )
129+
centered = false
130+
131+
[node name="Sprite2" type="Sprite" parent="Clouds/CloudGroup4"]
132+
position = Vector2( 100, 10 )
133+
texture = ExtResource( 3 )
134+
centered = false
135+
136+
[node name="Sprite3" type="Sprite" parent="Clouds/CloudGroup4"]
137+
position = Vector2( -60, 40 )
138+
texture = ExtResource( 4 )
139+
centered = false
140+
141+
[node name="Sprite4" type="Sprite" parent="Clouds/CloudGroup4"]
142+
position = Vector2( 150, 65 )
143+
texture = ExtResource( 4 )
144+
centered = false
145+
146+
[node name="Sprite5" type="Sprite" parent="Clouds/CloudGroup4"]
147+
position = Vector2( 15, 75 )
148+
texture = ExtResource( 5 )
149+
centered = false
150+
151+
[node name="Sprite6" type="Sprite" parent="Clouds/CloudGroup4"]
152+
position = Vector2( 225, 35 )
153+
texture = ExtResource( 5 )
154+
centered = false
155+
156+
[node name="Mountains2" type="ParallaxLayer" parent="."]
157+
position = Vector2( 0, 243 )
158+
motion_scale = Vector2( 0.2, 1 )
159+
160+
[node name="Sprite" type="Sprite" parent="Mountains2"]
161+
position = Vector2( 0, -64 )
162+
texture = ExtResource( 1 )
163+
region_enabled = true
164+
region_rect = Rect2( 0, 0, 2048, 128 )
165+
166+
[node name="Mountains1" type="ParallaxLayer" parent="."]
167+
position = Vector2( 0, 246 )
168+
motion_scale = Vector2( 0.4, 1 )
169+
170+
[node name="Sprite" type="Sprite" parent="Mountains1"]
171+
position = Vector2( 0, -64 )
172+
texture = ExtResource( 6 )
173+
region_enabled = true
174+
region_rect = Rect2( 0, 0, 2048, 128 )
219 Bytes
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="StreamTexture"
5+
path="res://.import/cloud_1.png-d9f3821e0d58b8b79ac7a8bc81287ae8.stex"
6+
metadata={
7+
"vram_texture": false
8+
}
9+
10+
[deps]
11+
12+
source_file="res://level/background/cloud_1.png"
13+
dest_files=[ "res://.import/cloud_1.png-d9f3821e0d58b8b79ac7a8bc81287ae8.stex" ]
14+
15+
[params]
16+
17+
compress/mode=0
18+
compress/lossy_quality=0.7
19+
compress/hdr_mode=0
20+
compress/bptc_ldr=0
21+
compress/normal_map=0
22+
flags/repeat=0
23+
flags/filter=false
24+
flags/mipmaps=false
25+
flags/anisotropic=false
26+
flags/srgb=2
27+
process/fix_alpha_border=true
28+
process/premult_alpha=false
29+
process/HDR_as_SRGB=false
30+
process/invert_color=false
31+
stream=false
32+
size_limit=0
33+
detect_3d=false
34+
svg/scale=1.0
298 Bytes
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="StreamTexture"
5+
path="res://.import/cloud_2.png-1b2bb3f73839db8c5ad1d01ad2876ab2.stex"
6+
metadata={
7+
"vram_texture": false
8+
}
9+
10+
[deps]
11+
12+
source_file="res://level/background/cloud_2.png"
13+
dest_files=[ "res://.import/cloud_2.png-1b2bb3f73839db8c5ad1d01ad2876ab2.stex" ]
14+
15+
[params]
16+
17+
compress/mode=0
18+
compress/lossy_quality=0.7
19+
compress/hdr_mode=0
20+
compress/bptc_ldr=0
21+
compress/normal_map=0
22+
flags/repeat=0
23+
flags/filter=false
24+
flags/mipmaps=false
25+
flags/anisotropic=false
26+
flags/srgb=2
27+
process/fix_alpha_border=true
28+
process/premult_alpha=false
29+
process/HDR_as_SRGB=false
30+
process/invert_color=false
31+
stream=false
32+
size_limit=0
33+
detect_3d=false
34+
svg/scale=1.0
185 Bytes
Loading

0 commit comments

Comments
 (0)