mirror of
https://github.com/godotengine/godot-demo-projects.git
synced 2026-01-04 06:09:46 +03:00
Update 2D in 3D demo to Godot 3.1.2
Conform to style guide, make positions exact, fix viewport quad
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
extends Spatial
|
||||
|
||||
func _ready():
|
||||
# Get the viewport and clear it
|
||||
# Get the viewport and clear it.
|
||||
var viewport = get_node("Viewport")
|
||||
viewport.set_clear_mode(Viewport.CLEAR_MODE_ONLY_NEXT_FRAME)
|
||||
|
||||
# Let two frames pass to make sure the vieport's is captured
|
||||
# Let two frames pass to make sure the vieport is captured.
|
||||
yield(get_tree(), "idle_frame")
|
||||
yield(get_tree(), "idle_frame")
|
||||
|
||||
# Retrieve the texture and set it to the viewport quad
|
||||
# Retrieve the texture and set it to the viewport quad.
|
||||
get_node("Viewport_quad").material_override.albedo_texture = viewport.get_texture()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=20 format=2]
|
||||
[gd_scene load_steps=18 format=2]
|
||||
|
||||
[ext_resource path="res://2D_in_3D.gd" type="Script" id=1]
|
||||
[ext_resource path="res://pong.gd" type="Script" id=2]
|
||||
@@ -50,20 +50,6 @@ script = SubResource( 5 )
|
||||
albedo_color = Color( 0.652344, 0.652344, 0.652344, 1 )
|
||||
roughness = 0.0
|
||||
|
||||
[sub_resource type="GDScript" id=9]
|
||||
script/source = "tool
|
||||
extends Object
|
||||
func e():
|
||||
return 1
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id=10]
|
||||
script/source = "tool
|
||||
extends Object
|
||||
func e():
|
||||
return .7
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id=11]
|
||||
script/source = "tool
|
||||
extends Object
|
||||
@@ -81,12 +67,12 @@ script = SubResource( 11 )
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Camera" type="Camera" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.26906, -1.2526 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0 )
|
||||
fov = 74.0
|
||||
near = 0.1
|
||||
|
||||
[node name="Floor" type="MeshInstance" parent="."]
|
||||
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, -1, -4 )
|
||||
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, -1, -2 )
|
||||
mesh = SubResource( 1 )
|
||||
material/0 = SubResource( 3 )
|
||||
|
||||
@@ -94,62 +80,54 @@ material/0 = SubResource( 3 )
|
||||
environment = SubResource( 6 )
|
||||
|
||||
[node name="Pillar" type="Spatial" parent="."]
|
||||
editor/display_folded = true
|
||||
transform = Transform( 0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -3, -0.255171, -5 )
|
||||
transform = Transform( 0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, -3, -0.2, -4 )
|
||||
|
||||
[node name="Pillar_bottom" type="MeshInstance" parent="Pillar"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.242229, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 9 )
|
||||
|
||||
[node name="Pillar_top" type="MeshInstance" parent="Pillar"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.48747, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 9 )
|
||||
|
||||
[node name="Pillar_middle" type="MeshInstance" parent="Pillar"]
|
||||
transform = Transform( 0.7, 0, 0, 0, 2, 0, 0, 0, 0.7, 0, 2.65279, 0 )
|
||||
transform = Transform( 0.7, 0, 0, 0, 2, 0, 0, 0, 0.7, 0, 2.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 10 )
|
||||
|
||||
[node name="Pillar2" type="Spatial" parent="."]
|
||||
editor/display_folded = true
|
||||
transform = Transform( 0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 3, -0.255171, -5 )
|
||||
transform = Transform( 0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 3, -0.2, -4 )
|
||||
|
||||
[node name="Pillar_bottom" type="MeshInstance" parent="Pillar2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.242229, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 9 )
|
||||
|
||||
[node name="Pillar_top" type="MeshInstance" parent="Pillar2"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.48747, 0 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 9 )
|
||||
|
||||
[node name="Pillar_middle" type="MeshInstance" parent="Pillar2"]
|
||||
transform = Transform( 0.7, 0, 0, 0, 2, 0, 0, 0, 0.7, 0, 2.65279, 0 )
|
||||
transform = Transform( 0.7, 0, 0, 0, 2, 0, 0, 0, 0.7, 0, 2.5, 0 )
|
||||
mesh = SubResource( 7 )
|
||||
material/0 = SubResource( 8 )
|
||||
script = SubResource( 10 )
|
||||
|
||||
[node name="Pillar_back" type="MeshInstance" parent="."]
|
||||
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 1.22418, -5.48399 )
|
||||
transform = Transform( 4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 1.2, -4.5 )
|
||||
mesh = SubResource( 12 )
|
||||
material/0 = SubResource( 8 )
|
||||
|
||||
[node name="DirectionalLight" type="DirectionalLight" parent="."]
|
||||
transform = Transform( 0.623013, -0.733525, 0.271654, 0.321394, 0.55667, 0.766044, -0.713134, -0.389948, 0.582563, 9.02684, 0, 1.28613 )
|
||||
transform = Transform( 0.623013, -0.733525, 0.271654, 0.321394, 0.55667, 0.766044, -0.713134, -0.389948, 0.582563, 0, 10, 0 )
|
||||
shadow_enabled = true
|
||||
directional_shadow_blend_splits = true
|
||||
directional_shadow_normal_bias = 0.2
|
||||
|
||||
[node name="Viewport_quad" type="MeshInstance" parent="."]
|
||||
transform = Transform( -2, 8.74228e-08, 0, 7.64274e-15, 4.37114e-08, 1.333, 1.74846e-07, 1, -5.82673e-08, 0, 1.20996, -5.25875 )
|
||||
transform = Transform( 2, 0, 0, 0, 0, -1.333, 0, 1, 0, 0, 1.2, -4.25 )
|
||||
material_override = SubResource( 13 )
|
||||
mesh = SubResource( 1 )
|
||||
material/0 = null
|
||||
@@ -161,7 +139,6 @@ usage = 0
|
||||
render_target_v_flip = true
|
||||
|
||||
[node name="2D_World" type="Node2D" parent="Viewport"]
|
||||
editor/display_folded = true
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="BG" type="Panel" parent="Viewport/2D_World"]
|
||||
@@ -183,4 +160,3 @@ texture = ExtResource( 5 )
|
||||
[node name="separator" type="Sprite" parent="Viewport/2D_World"]
|
||||
position = Vector2( 298, 200 )
|
||||
texture = ExtResource( 6 )
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/ball.png-9a4ca347acb7532f6ae347744a6b04f7.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
|
||||
@@ -12,4 +12,3 @@ ground_curve = 0.01
|
||||
background_mode = 2
|
||||
background_sky = SubResource( 1 )
|
||||
ssao_blur = 1
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/left_pallete.png-bc33611074a0f886142e37c77bd2545a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
|
||||
@@ -1,37 +1,40 @@
|
||||
|
||||
extends Node2D
|
||||
|
||||
# Member variables
|
||||
const PAD_SPEED = 150
|
||||
const INITIAL_BALL_SPEED = 80
|
||||
|
||||
var ball_speed = INITIAL_BALL_SPEED
|
||||
var screen_size = Vector2(640, 400)
|
||||
# Default ball direction
|
||||
# Default ball direction.
|
||||
var direction = Vector2(-1, 0)
|
||||
var pad_size = Vector2(8, 32)
|
||||
const PAD_SPEED = 150
|
||||
|
||||
func _ready():
|
||||
screen_size = get_viewport_rect().size # Get actual size.
|
||||
pad_size = get_node("left").get_texture().get_size()
|
||||
|
||||
|
||||
func _process(delta):
|
||||
# Get ball position and pad rectangles
|
||||
# Get ball position and pad rectangles.
|
||||
var ball_pos = get_node("ball").get_position()
|
||||
var left_rect = Rect2(get_node("left").get_position() - pad_size * 0.5, pad_size)
|
||||
var right_rect = Rect2(get_node("right").get_position() - pad_size * 0.5, pad_size)
|
||||
|
||||
# Integrate new ball postion
|
||||
# Integrate new ball postion.
|
||||
ball_pos += direction * ball_speed * delta
|
||||
|
||||
# Flip when touching roof or floor
|
||||
# Flip when touching roof or floor.
|
||||
if (ball_pos.y < 0 and direction.y < 0) or (ball_pos.y > screen_size.y and direction.y > 0):
|
||||
direction.y = -direction.y
|
||||
|
||||
# Flip, change direction and increase speed when touching pads
|
||||
# Flip, change direction and increase speed when touching pads.
|
||||
if (left_rect.has_point(ball_pos) and direction.x < 0) or (right_rect.has_point(ball_pos) and direction.x > 0):
|
||||
direction.x = -direction.x
|
||||
ball_speed *= 1.1
|
||||
direction.y = randf() * 2.0 - 1
|
||||
direction = direction.normalized()
|
||||
|
||||
# Check gameover
|
||||
# Check gameover.
|
||||
if ball_pos.x < 0 or ball_pos.x > screen_size.x:
|
||||
ball_pos = screen_size * 0.5
|
||||
ball_speed = INITIAL_BALL_SPEED
|
||||
@@ -39,7 +42,7 @@ func _process(delta):
|
||||
|
||||
get_node("ball").set_position(ball_pos)
|
||||
|
||||
# Move left pad
|
||||
# Move left pad.
|
||||
var left_pos = get_node("left").get_position()
|
||||
|
||||
if left_pos.y > 0 and Input.is_action_pressed("left_move_up"):
|
||||
@@ -49,7 +52,7 @@ func _process(delta):
|
||||
|
||||
get_node("left").set_position(left_pos)
|
||||
|
||||
# Move right pad
|
||||
# Move right pad.
|
||||
var right_pos = get_node("right").get_position()
|
||||
if right_pos.y > 0 and Input.is_action_pressed("right_move_up"):
|
||||
right_pos.y += -PAD_SPEED * delta
|
||||
@@ -57,9 +60,3 @@ func _process(delta):
|
||||
right_pos.y += PAD_SPEED * delta
|
||||
|
||||
get_node("right").set_position(right_pos)
|
||||
|
||||
|
||||
func _ready():
|
||||
screen_size = get_viewport_rect().size # Get actual size
|
||||
pad_size = get_node("left").get_texture().get_size()
|
||||
set_process(true)
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/right_pallete.png-fc6e4a6a7c8197834656482b94708e47.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/separator.png-f981c8489b9148e2e1dc63398273da74.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user