Use spotlights instead of ghost. Move minoes in tetromino

This commit is contained in:
adrienmalin 2019-01-01 04:06:00 +01:00
parent 556f9fca24
commit 84abafae58
32 changed files with 79 additions and 215 deletions

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=10 format=2]
[ext_resource path="res://Mino/Breakage1.tres" type="PrismMesh" id=1]
[ext_resource path="res://Mino/Breakage2.tres" type="PrismMesh" id=2]
[ext_resource path="res://Mino/BackMaterial.tres" type="Material" id=3]
[ext_resource path="res://Tetrominos/Mino/Breakage1.tres" type="PrismMesh" id=1]
[ext_resource path="res://Tetrominos/Mino/Breakage2.tres" type="PrismMesh" id=2]
[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=3]
[sub_resource type="Gradient" id=1]

View File

@ -1,6 +1,7 @@
[gd_resource type="PrismMesh" load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[resource]

View File

@ -1,6 +1,7 @@
[gd_resource type="PrismMesh" load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[resource]

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Mino/BackMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=1]
[sub_resource type="CubeMesh" id=3]

View File

@ -1,11 +1,12 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://Mino/MinoLibrary.tres" type="MeshLibrary" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoLibrary.tres" type="MeshLibrary" id=1]
[ext_resource path="res://GridMap.gd" type="Script" id=2]
[ext_resource path="res://GridBack.tscn" type="PackedScene" id=3]
[ext_resource path="res://Mino/BackMaterial.tres" type="Material" id=4]
[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=4]
[ext_resource path="res://Tetrominos/GhostPiece.tscn" type="PackedScene" id=5]
[sub_resource type="CubeMesh" id=1]
material = ExtResource( 4 )

View File

@ -54,7 +54,6 @@ var score = 0
func _ready():
randomize()
print(NB_LINES)
for y in range(NB_LINES):
exploding_lines.append(ExplodingLine.instance())
add_child(exploding_lines[y])
@ -87,7 +86,6 @@ func new_piece():
current_piece = next_piece
current_piece.translation = START_POSITION
current_piece.emit_trail(true)
update_ghost_piece()
autoshift_action = ""
next_piece = random_piece()
next_piece.translation = NEXT_POSITION
@ -162,28 +160,17 @@ func possible_positions(initial_positions, movement):
func move(movement):
if current_piece.move(movement):
$LockDelay.start()
if movement.x:
update_ghost_piece()
return true
else:
return false
func rotate(direction):
if current_piece.rotate(direction):
update_ghost_piece()
$LockDelay.start()
return true
else:
return false
func update_ghost_piece():
var new_positions = current_piece.positions()
var positions
while(new_positions):
positions = new_positions
new_positions = possible_positions(positions, movements["soft_drop"])
$GhostPiece.apply_positions(positions)
func _on_DropTimer_timeout():
move(movements["soft_drop"])
@ -211,7 +198,6 @@ func line_clear():
set_cell_item(x, y2, 0, get_cell_item(x, y2+1, 0))
lines_cleared += 1
exploding_lines[y].restart()
update_ghost_piece()
if lines_cleared or current_piece.t_spin:
var s = SCORES[lines_cleared][current_piece.t_spin]
score += 100 * s
@ -245,9 +231,8 @@ func hold():
else:
held_piece = current_piece
new_piece()
update_ghost_piece()
held_piece.translation = HOLD_POSITION
held_piece.emit_trail(false)
held_piece.translation = HOLD_POSITION
current_piece_held = true
func resume():

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://Mino/MinoLibrary.tres" type="MeshLibrary" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoLibrary.tres" type="MeshLibrary" id=1]
[ext_resource path="res://GridMap/GridMap.gd" type="Script" id=2]
[ext_resource path="res://GridMap/GridBack.tscn" type="PackedScene" id=3]
[ext_resource path="res://GridMap/BackMaterial.tres" type="Material" id=4]
[ext_resource path="res://Tetrominos/GhostPiece.tscn" type="PackedScene" id=5]
[ext_resource path="res://midi/MidiPlayer.tscn" type="PackedScene" id=6]
[ext_resource path="res://midi/MidiPlayer.tscn" type="PackedScene" id=5]
[sub_resource type="CubeMesh" id=1]
@ -16,7 +15,7 @@ subdivide_width = 0
subdivide_height = 0
subdivide_depth = 0
[node name="GridMap" type="GridMap" index="0"]
[node name="GridMap" type="GridMap"]
theme = ExtResource( 1 )
cell_size = Vector3( 1, 1, 1 )
@ -28,13 +27,13 @@ cell_scale = 1.0
collision_layer = 1
collision_mask = 1
data = {
"cells": PoolIntArray( 13, 0, 0, 65543, 0, 0 )
"cells": PoolIntArray( )
}
script = ExtResource( 2 )
_sections_unfolded = [ "Cell", "Transform" ]
__meta__ = {
"_editor_clip_": 1,
"_editor_floor_": Vector3( 0, 1, 0 )
"_editor_floor_": Vector3( 0, -1, 0 )
}
[node name="DropTimer" type="Timer" parent="." index="0"]
@ -80,12 +79,7 @@ mesh = SubResource( 1 )
transform = Transform( 7, 0, 0, 0, 7, 0, 0, 0, 0.1, 14, 16, -1 )
mesh = SubResource( 1 )
[node name="GhostPiece" parent="." index="7" instance=ExtResource( 5 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 20, 0 )
_sections_unfolded = [ "Pause", "Transform" ]
[node name="MidiPlayer" parent="." index="8" instance=ExtResource( 6 )]
[node name="MidiPlayer" parent="." index="7" instance=ExtResource( 5 )]
file = "res://midi/Tetris - Song A.mid"
volume_db = -24

Binary file not shown.

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMesh.tscn" type="PackedScene" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMesh.tscn" type="PackedScene" id=1]
[node name="Mino_Library" type="Spatial" index="0"]

View File

@ -1 +0,0 @@
extends "Tetromino.gd"

View File

@ -1,156 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://Tetrominos/GhostPiece.gd" type="Script" id=1]
[sub_resource type="SpatialMaterial" id=1]
render_priority = 0
flags_transparent = true
flags_unshaded = false
flags_vertex_lighting = false
flags_no_depth_test = false
flags_use_point_size = false
flags_world_triplanar = false
flags_fixed_size = false
flags_albedo_tex_force_srgb = false
vertex_color_use_as_albedo = false
vertex_color_is_srgb = false
params_diffuse_mode = 0
params_specular_mode = 0
params_blend_mode = 1
params_cull_mode = 0
params_depth_draw_mode = 0
params_line_width = 1.0
params_point_size = 1.0
params_billboard_mode = 0
params_grow = false
params_use_alpha_scissor = false
albedo_color = Color( 0.409756, 0.451493, 0.615234, 1 )
metallic = 0.66
metallic_specular = 0.5
metallic_texture_channel = 0
roughness = 0.0
roughness_texture_channel = 0
emission_enabled = false
normal_enabled = false
rim_enabled = false
clearcoat_enabled = false
anisotropy_enabled = false
ao_enabled = false
depth_enabled = false
subsurf_scatter_enabled = false
transmission_enabled = false
refraction_enabled = false
detail_enabled = false
uv1_scale = Vector3( 1, 1, 1 )
uv1_offset = Vector3( 0, 0, 0 )
uv1_triplanar = false
uv1_triplanar_sharpness = 1.0
uv2_scale = Vector3( 1, 1, 1 )
uv2_offset = Vector3( 0, 0, 0 )
uv2_triplanar = false
uv2_triplanar_sharpness = 1.0
proximity_fade_enable = true
proximity_fade_distance = 1.0
distance_fade_enable = false
_sections_unfolded = [ "Albedo", "Emission", "Metallic", "Proximity Fade" ]
[sub_resource type="CubeMesh" id=2]
material = SubResource( 1 )
custom_aabb = AABB( 0, 0, 0, 0, 0, 0 )
size = Vector3( 0.9, 0.9, 0.9 )
subdivide_width = 0
subdivide_height = 0
subdivide_depth = 0
[node name="GhostPiece" type="Spatial"]
script = ExtResource( 1 )
[node name="Mino0" type="MeshInstance" parent="." index="0"]
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 2 )
skeleton = NodePath("..")
material/0 = null
[node name="OmniLight" type="OmniLight" parent="Mino0" index="0"]
layers = 1
light_color = Color( 0.871094, 0.978851, 1, 1 )
light_energy = 10.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
omni_range = 5.0
omni_attenuation = 1.0
omni_shadow_mode = 1
omni_shadow_detail = 1
_sections_unfolded = [ "Light", "Omni" ]
[node name="Mino1" type="MeshInstance" parent="." index="1"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 3, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 2 )
skeleton = NodePath("..")
material/0 = null
[node name="Mino2" type="MeshInstance" parent="." index="2"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 2 )
skeleton = NodePath("..")
material/0 = null
[node name="Mino3" type="MeshInstance" parent="." index="3"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0 )
layers = 1
material_override = null
cast_shadow = 1
extra_cull_margin = 0.0
use_in_baked_light = false
lod_min_distance = 0.0
lod_min_hysteresis = 0.0
lod_max_distance = 0.0
lod_max_hysteresis = 0.0
mesh = SubResource( 2 )
skeleton = NodePath("..")
material/0 = null

View File

@ -1,6 +1,7 @@
[gd_resource type="PrismMesh" load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[resource]

View File

@ -1,6 +1,7 @@
[gd_resource type="PrismMesh" load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[resource]

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=9 format=2]
[ext_resource path="res://Mino/MinoMesh.tscn" type="PackedScene" id=1]
[ext_resource path="res://Mino/MinoMesh.tres" type="CubeMesh" id=2]
[ext_resource path="res://Mino/TrailMaterial.tres" type="Material" id=3]
[ext_resource path="res://Tetrominos/Mino/MinoMesh.tscn" type="PackedScene" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMesh.tres" type="CubeMesh" id=2]
[ext_resource path="res://Tetrominos/Mino/TrailMaterial.tres" type="Material" id=3]
[ext_resource path="res://Tetrominos/Mino/SpotLight.tscn" type="PackedScene" id=4]
[sub_resource type="SpatialMaterial" id=1]
@ -149,4 +150,9 @@ draw_passes = 1
draw_pass_1 = SubResource( 4 )
_sections_unfolded = [ "Draw Passes", "Drawing", "Geometry", "LOD", "Process Material", "Time", "Transform" ]
[node name="SpotLight" parent="." index="2" instance=ExtResource( 4 )]
transform = Transform( 1, 0, 0, 0, -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 0, 1 )
light_energy = 4.0

Binary file not shown.

View File

@ -1,6 +1,6 @@
[gd_resource type="MeshLibrary" load_steps=4 format=2]
[ext_resource path="res://Mino/MinoMesh.tres" type="CubeMesh" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMesh.tres" type="CubeMesh" id=1]
[sub_resource type="Image" id=1]

View File

@ -1,6 +1,6 @@
[gd_resource type="CubeMesh" load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[resource]

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=1]
[sub_resource type="CubeMesh" id=1]

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://Mino/MinoMesh.tscn" type="PackedScene" id=1]
[ext_resource path="res://Tetrominos/Mino/MinoMesh.tscn" type="PackedScene" id=1]
[node name="Mino_Library" type="Spatial" index="0"]

View File

@ -0,0 +1,26 @@
[gd_scene format=2]
[node name="SpotLight" type="SpotLight" index="0"]
transform = Transform( 1, 0, 0, 0, 0.374607, 0.927184, 0, -0.927184, 0.374607, 0, 0, 0 )
layers = 1
light_color = Color( 1, 1, 1, 1 )
light_energy = 16.0
light_indirect_energy = 1.0
light_negative = false
light_specular = 0.5
light_bake_mode = 1
light_cull_mask = -1
shadow_enabled = false
shadow_color = Color( 0, 0, 0, 1 )
shadow_bias = 0.15
shadow_contact = 0.0
shadow_reverse_cull_face = false
editor_only = false
spot_range = 20.0
spot_attenuation = 0.5
spot_angle = 5.0
spot_angle_attenuation = 2.0
_sections_unfolded = [ "Light", "Spot", "Transform" ]

View File

@ -1,8 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroI.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroI" type="Spatial" index="0"]

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroJ.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroJ" type="Spatial"]
[node name="TetroJ" type="Spatial" index="0"]
script = ExtResource( 1 )

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroL.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroL" type="Spatial" index="0"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroO.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroO" type="Spatial" index="0"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroS.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroS" type="Spatial" index="0"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroT.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroT" type="Spatial" index="0"]

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://Tetrominos/TetroZ.gd" type="Script" id=1]
[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2]
[ext_resource path="res://Tetrominos/Mino/Mino.tscn" type="PackedScene" id=2]
[node name="TetroZ" type="Spatial" index="0"]