mirror of
https://github.com/Dariasteam/Cows-Revenge.git
synced 2026-01-23 02:15:17 +00:00
Add cowbells mechanics 1
This commit is contained in:
parent
871ad73a52
commit
8175ab47a9
16 changed files with 906 additions and 31 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
24
Scenes/Events/cowbell.gd
Normal 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()
|
||||
|
||||
|
||||
|
||||
75
Scenes/Events/cowbell.tscn
Normal file
75
Scenes/Events/cowbell.tscn
Normal 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"]
|
||||
|
||||
|
||||
10
Scenes/Events/cowbell_colelctor.gd
Normal file
10
Scenes/Events/cowbell_colelctor.gd
Normal 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
|
||||
24
Scenes/Events/cowbell_collector.gd
Normal file
24
Scenes/Events/cowbell_collector.gd
Normal 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")
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
BIN
Sound/cowbell_sound.ogg
Normal file
Binary file not shown.
BIN
Sound/cowbell_sound.wav
Normal file
BIN
Sound/cowbell_sound.wav
Normal file
Binary file not shown.
BIN
Sprites/Charasets/cowbell.png
Normal file
BIN
Sprites/Charasets/cowbell.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 214 B |
10
cowbell_colelctor.gd
Normal file
10
cowbell_colelctor.gd
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue