Add cowbells mechanics 1

This commit is contained in:
dariasteam 2017-10-01 22:16:00 +01:00
parent 55453e0797
commit 96d3cbdb0c
16 changed files with 906 additions and 31 deletions

View file

@ -11,6 +11,7 @@ func _ready():
func _on_Area2D_body_enter( body ):
if(body.is_in_group("player")):
body.add_milk(amount)
disconnect("body_enter",self,"_on_Area2D_body_enter")
sound.play()
sprite.set_opacity(0)

View file

@ -42,7 +42,7 @@ _update_shape_index = 0
stream/stream = ExtResource( 3 )
stream/play = false
stream/loop = false
stream/volume_db = 3.75
stream/volume_db = 5.0
stream/autoplay = false
stream/paused = false
stream/loop_restart_time = 0.0

24
Scenes/Events/cowbell.gd Normal file
View file

@ -0,0 +1,24 @@
extends Area2D
export(int) var amount = 100
onready var sound = get_node("Sound")
onready var sprite = get_node("Sprite")
onready var timer = get_node("Timer")
func _ready():
timer.connect("timeout",self,"queue_free")
func _on_Area2D_body_enter( body ):
if(body.is_in_group("player")):
var pitch = body.add_cowbells(1)
sound.set_default_pitch_scale(pitch)
sound.play("cowbell_sound", 0)
sprite.set_opacity(0)
disconnect("body_enter",self,"_on_Area2D_body_enter")
timer.start()

View file

@ -0,0 +1,75 @@
[gd_scene load_steps=6 format=1]
[ext_resource path="res://Scenes/Events/cowbell.gd" type="Script" id=1]
[ext_resource path="res://Sprites/Charasets/cowbell.png" type="Texture" id=2]
[ext_resource path="res://Sound/cowbell_sound.wav" type="Sample" id=3]
[sub_resource type="RectangleShape2D" id=1]
custom_solver_bias = 0.0
extents = Vector2( 13, 13 )
[sub_resource type="SampleLibrary" id=2]
samples/cowbell_sound = {
"db": 0.0,
"pitch": 1.0,
"priority": 0,
"sample": ExtResource( 3 )
}
[node name="Cowbell" type="Area2D"]
z/relative = false
input/pickable = false
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1.875, 0, 0, 1.875, 7.15256e-07, -9.53674e-07 )
shapes/0/trigger = false
gravity_vec = Vector2( 0, 1 )
gravity = 0.0
linear_damp = 0.1
angular_damp = 1.0
monitorable = false
collision/layers = 16
script/script = ExtResource( 1 )
amount = 100
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 2 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
transform/pos = Vector2( 7.15256e-07, -9.53674e-07 )
transform/scale = Vector2( 1.875, 1.875 )
shape = SubResource( 1 )
trigger = false
_update_shape_index = 0
[node name="Sound" type="SamplePlayer" parent="."]
config/polyphony = 1
config/samples = SubResource( 2 )
default/volume_db = 8.0
default/pitch_scale = 1.0
default/pan = 0.0
default/depth = 0.0
default/height = 0.0
default/filter/type = 0
default/filter/cutoff = 5000.0
default/filter/resonance = 1.0
default/filter/gain = 1.0
default/reverb_room = 2
default/reverb_send = 0.0
default/chorus_send = 0.0
[node name="Timer" type="Timer" parent="."]
process_mode = 1
wait_time = 0.5
one_shot = true
autostart = false
[connection signal="body_enter" from="." to="." method="_on_Area2D_body_enter"]

View file

@ -0,0 +1,10 @@
extends Node2D
# class member variables go here, for example:
# var a = 2
# var b = "textvar"
func _ready():
# Called every time the node is added to the scene.
# Initialization here
pass

View file

@ -0,0 +1,24 @@
extends Node2D
# class member variables go here, for example:
# var a = 2
# var b = "textvar"
onready var timer = get_node("next_cowbell_time")
export(float) var pitch_increment = 0.05
var pitch = 1
func timer_timeout():
pitch = 1
func play_sound():
pitch += pitch_increment
print ("sound ", pitch)
timer.start()
return pitch
func _ready():
timer.connect("timeout",self,"timer_timeout")

View file

@ -36,7 +36,7 @@ func dissapear():
hit_single.set_emitting(true)
var t = Timer.new()
t.set_wait_time(hit_single.get_lifetime())
t.set_wait_time(max(hit_single.get_lifetime(), 1))
t.set_one_shot(true)
self.add_child(t)
t.start()
@ -57,8 +57,10 @@ func on_opacity_high ():
sprite.set_modulate(Color("00ffff"))
func play_damage_sound():
var sample_list = sound.get_sample_library().get_sample_list()
sound.play(sample_list[rand_range(0, sample_list.size())], 0)
var sample_list = sound.get_sample_library().get_sample_list()
var sample = sample_list[rand_range(0, sample_list.size())]
sound.play(sample, 0)
func decrease_life (value):
play_damage_sound()

View file

@ -12,5 +12,6 @@ func _on_Area2D_body_enter( body ):
if(body.is_in_group("player")):
if (body.can_add_life()):
sprite.set_opacity(0)
disconnect("body_enter",self,"_on_Area2D_body_enter")
body.add_life()
sound.play()

View file

@ -10,14 +10,9 @@ signal set_max_life
const GRAVITY = 4000.0
const FLYING_MOVEMENT_SPEED = 1
export var JUMP_SPEED = 400
const SLIDE_LEVEL = 40
export(int) var MAX_JUMP_TIME = 20
export var altitude = 0.5
export(int) var MAX_WALK_SPEED = 450
const WALK_SPEED_INCREMENT = 20
var walk_speed = 0
onready var shooter = get_node("shooter")
@ -31,6 +26,7 @@ onready var hud_milk = get_tree().get_nodes_in_group("milk_hud")[0]
onready var hud_life = get_tree().get_nodes_in_group("life_hud")[0]
onready var JUMP_SOUND = ResourceLoader.load("Sound/player_jump_sound.ogg")
onready var cowbell_collector = get_node("cowbell_collector")
var can_jump = true
@ -46,14 +42,23 @@ var left = false
var receive_damage = true
export(int) var max_milk = 100
export(int) var milk_level = 0
export(int) var max_life = 3
onready var life = max_life
export(int) var max_milk = 100
export(int) var milk_level = 0
export(int) var max_life = 3
export(int) var MAX_JUMP_TIME = 20
export(int) var MAX_WALK_SPEED = 450
export(int) var invulneravility_time = 16
export var JUMP_SPEED = 400
export var altitude = 0.5
export(int) var cowbells_collected = 0
func add_cowbells(var number):
cowbells_collected += number
return cowbell_collector.play_sound()
func is_falling ():
return velocity.y > 0

View file

@ -1,11 +1,12 @@
[gd_scene load_steps=10 format=1]
[gd_scene load_steps=11 format=1]
[ext_resource path="res://Scenes/Events/player.gd" type="Script" id=1]
[ext_resource path="res://Scenes/Events/shooter.gd" type="Script" id=2]
[ext_resource path="res://Scenes/Events/ray_milk.tscn" type="PackedScene" id=3]
[ext_resource path="res://Sprites/Charasets/cow.png" type="Texture" id=4]
[ext_resource path="res://Scenes/Events/player_animations.tres" type="Animation" id=5]
[ext_resource path="res://Sound/player_jump_sound.ogg" type="AudioStream" id=6]
[ext_resource path="res://Scenes/Events/cowbell_collector.gd" type="Script" id=6]
[ext_resource path="res://Sound/player_jump_sound.ogg" type="AudioStream" id=7]
[sub_resource type="ConvexPolygonShape2D" id=4]
@ -51,17 +52,19 @@ collision/layers = 1057
collision/mask = 2066
collision/margin = 0.08
script/script = ExtResource( 1 )
JUMP_SPEED = 600
MAX_JUMP_TIME = 25
altitude = 0.5
MAX_WALK_SPEED = 550
max_milk = 100
milk_level = 0
max_life = 5
MAX_JUMP_TIME = 20
MAX_WALK_SPEED = 450
invulneravility_time = 8
JUMP_SPEED = 620
altitude = 0.5
cowbells_collected = 0
[node name="shooter" type="Node2D" parent="."]
editor/display_folded = true
transform/pos = Vector2( 25.3282, 2.0993 )
transform/scale = Vector2( 0.5, 0.5 )
script/script = ExtResource( 2 )
@ -97,6 +100,7 @@ transform/scale = Vector2( 0.885237, 0.0763853 )
[node name="sprite" type="Sprite" parent="."]
editor/display_folded = true
texture = ExtResource( 4 )
vframes = 6
hframes = 6
@ -138,9 +142,22 @@ drag_margin/top = 0.2
drag_margin/right = 0.05
drag_margin/bottom = 0.2
[node name="cowbell_collector" type="Node2D" parent="."]
transform/scale = Vector2( 0.5, 0.5 )
script/script = ExtResource( 6 )
pitch_increment = 0.05
[node name="next_cowbell_time" type="Timer" parent="cowbell_collector"]
process_mode = 1
wait_time = 0.5
one_shot = false
autostart = false
[node name="sound" type="StreamPlayer" parent="."]
stream/stream = ExtResource( 6 )
stream/stream = ExtResource( 7 )
stream/play = false
stream/loop = false
stream/volume_db = 10.0

File diff suppressed because one or more lines are too long

View file

@ -107,6 +107,8 @@ initial_heart_pos = Vector2( 32, 0 )
"buttons_hud",
]]
editor/display_folded = true
visibility/visible = false
script/script = ExtResource( 3 )
[node name="Bttn_U" type="TouchScreenButton" parent="Control/Buttons"]

BIN
Sound/cowbell_sound.ogg Normal file

Binary file not shown.

BIN
Sound/cowbell_sound.wav Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

10
cowbell_colelctor.gd Normal file
View file

@ -0,0 +1,10 @@
extends Node2D
# class member variables go here, for example:
# var a = 2
# var b = "textvar"
func _ready():
# Called every time the node is added to the scene.
# Initialization here
pass