source_md5="46fbf6805e08cb6849da372142616004" | |||||
dest_md5="e3ffdf1efc23d39f58ec547ccf1f22e2" | |||||
source_md5="9e6a5db548a8dcb68eaf7a61f5306be0" | |||||
dest_md5="888d8a15176062672504ce8798441c32" | |||||
source_md5="f0743de1cdb38cc41380a7d43356a333" | |||||
dest_md5="617415b36dd7764c9c8056ad6202a961" | |||||
[gd_scene load_steps=4 format=2] | |||||
[ext_resource path="res://Data/Scripts/BladeSaw.gd" type="Script" id=1] | |||||
[ext_resource path="res://Data/Graphics/nstar.png" type="Texture" id=2] | |||||
[ext_resource path="res://Data/Sound/Effects/saw.wav" type="AudioStream" id=3] | |||||
[node name="BladeSaw" type="KinematicBody2D"] | |||||
collision_layer = 2 | |||||
script = ExtResource( 1 ) | |||||
degrees_per_second = 270.0 | |||||
[node name="audio" type="AudioStreamPlayer2D" parent="."] | |||||
stream = ExtResource( 3 ) | |||||
max_distance = 512.0 | |||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] | |||||
position = Vector2( 0.291977, -0.407814 ) | |||||
polygon = PoolVector2Array( -0.190857, -62.8828, 15.1022, -32.9085, 45.8921, -43.1038, 35.9007, -11.7022, 63.632, 2.77521, 33.6577, 17.4565, 43.2413, 46.2074, 13.4709, 37.2355, 0.0130463, 63.9473, -13.8526, 37.4394, -43.623, 46.6152, -34.0394, 17.8643, -64.0137, 2.5713, -36.0785, -11.4983, -47.0894, -43.3077, -15.4839, -32.9085 ) | |||||
[node name="Sprite" type="Sprite" parent="."] | |||||
modulate = Color( 0.705882, 0.705882, 0.705882, 1 ) | |||||
texture = ExtResource( 2 ) |
[gd_scene load_steps=8 format=2] | |||||
[gd_scene load_steps=9 format=2] | |||||
[ext_resource path="res://Data/Objects/PulseArrow.tscn" type="PackedScene" id=1] | [ext_resource path="res://Data/Objects/PulseArrow.tscn" type="PackedScene" id=1] | ||||
[ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=2] | [ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=2] | ||||
[ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=3] | [ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=3] | ||||
[ext_resource path="res://Data/Graphics/placeholder.png" type="Texture" id=4] | [ext_resource path="res://Data/Graphics/placeholder.png" type="Texture" id=4] | ||||
[ext_resource path="res://Data/Scripts/BladeSaw.gd" type="Script" id=5] | |||||
[ext_resource path="res://Data/Graphics/nstar.png" type="Texture" id=6] | |||||
[ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=5] | |||||
[ext_resource path="res://Data/Toggler.gd" type="Script" id=6] | |||||
[sub_resource type="RectangleShape2D" id=1] | [sub_resource type="RectangleShape2D" id=1] | ||||
extents = Vector2( 32, 32 ) | extents = Vector2( 32, 32 ) | ||||
[sub_resource type="RectangleShape2D" id=2] | |||||
extents = Vector2( 32, 32 ) | |||||
[node name="World" type="Node2D"] | [node name="World" type="Node2D"] | ||||
[node name="Player" parent="." instance=ExtResource( 2 )] | [node name="Player" parent="." instance=ExtResource( 2 )] | ||||
scale = Vector2( 0.1, 0.1 ) | scale = Vector2( 0.1, 0.1 ) | ||||
pulse_color = Color( 0.356863, 0.960784, 0.211765, 1 ) | pulse_color = Color( 0.356863, 0.960784, 0.211765, 1 ) | ||||
[node name="BladeSaw" type="KinematicBody2D" parent="."] | |||||
position = Vector2( 252.7, 41.8 ) | |||||
collision_layer = 2 | |||||
script = ExtResource( 5 ) | |||||
degrees_per_second = 180.0 | |||||
active = false | |||||
[node name="BladeSaw" parent="." instance=ExtResource( 5 )] | |||||
position = Vector2( 271.339, 28.5271 ) | |||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="BladeSaw"] | |||||
position = Vector2( 0.291977, -0.407814 ) | |||||
polygon = PoolVector2Array( -0.190857, -62.8828, 15.1022, -32.9085, 45.8921, -43.1038, 35.9007, -11.7022, 63.632, 2.77521, 33.6577, 17.4565, 43.2413, 46.2074, 13.4709, 37.2355, 0.0130463, 63.9473, -13.8526, 37.4394, -43.623, 46.6152, -34.0394, 17.8643, -64.0137, 2.5713, -36.0785, -11.4983, -47.0894, -43.3077, -15.4839, -32.9085 ) | |||||
[node name="Toggler" type="Node2D" parent="."] | |||||
script = ExtResource( 6 ) | |||||
[node name="Sprite" type="Sprite" parent="BladeSaw"] | |||||
texture = ExtResource( 6 ) | |||||
[node name="Area2D" type="Area2D" parent="Toggler"] | |||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Toggler/Area2D"] | |||||
shape = SubResource( 2 ) | |||||
[node name="Sprite" type="Sprite" parent="Toggler"] | |||||
modulate = Color( 0.996078, 0.815686, 0.815686, 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[connection signal="body_entered" from="Toggler/Area2D" to="Toggler" method="_on_Area2D_body_entered"] |
var _easing = 0.0 | var _easing = 0.0 | ||||
var _running = false | var _running = false | ||||
var _volume_on = 0 | |||||
var _pitch_on = 1.0 | |||||
func _set_active(b): | func _set_active(b): | ||||
if active != b: | if active != b: | ||||
# Called when the node enters the scene tree for the first time. | # Called when the node enters the scene tree for the first time. | ||||
func _ready(): | func _ready(): | ||||
_volume_on = $audio.volume_db | |||||
_pitch_on = $audio.pitch_scale | |||||
set_physics_process(true) | set_physics_process(true) | ||||
if active and _easing == 0.0: | if active and _easing == 0.0: | ||||
_running = true | _running = true | ||||
_easing_in = false | _easing_in = false | ||||
_easing_out = false | _easing_out = false | ||||
_easing = 0.0 | _easing = 0.0 | ||||
if not _running: | |||||
$audio.stop() | |||||
$audio.volume_db = _volume_on | |||||
$audio.pitch_scale = _pitch_on | |||||
else: | else: | ||||
if not $audio.playing: | |||||
$audio.play() | |||||
var adj | var adj | ||||
var vol | |||||
if _easing_in: | if _easing_in: | ||||
adj = 1.0 - (_easing / ease_in) | adj = 1.0 - (_easing / ease_in) | ||||
vol = adj | |||||
else: | else: | ||||
adj = 1.0 - (_easing / ease_out) | |||||
vol = (_easing / ease_out) | |||||
adj = vol | |||||
$audio.volume_db = (-80 + ((_volume_on + 80) * vol)) | |||||
$audio.pitch_scale = 0.1 + ((_pitch_on - 0.1) * vol) | |||||
rotate(deg2rad(degrees_per_second * adj * delta)) | rotate(deg2rad(degrees_per_second * adj * delta)) | ||||
if _running: | |||||
elif _running: | |||||
if not $audio.playing: | |||||
$audio.play() | |||||
rotate(deg2rad(degrees_per_second * delta)) | rotate(deg2rad(degrees_per_second * delta)) | ||||
material.set_shader_param("fade_offset", _camp(v, 0.1, 0.5)) | material.set_shader_param("fade_offset", _camp(v, 0.1, 0.5)) | ||||
func _get_pulse_offset(): | func _get_pulse_offset(): | ||||
if self.get_name() == "Dot21": | |||||
print("PING") | |||||
return _ramp(material.get_shader_param("fade_offset"), 0.1, 0.5) | return _ramp(material.get_shader_param("fade_offset"), 0.1, 0.5) | ||||
func _set_pulse_color(c): | func _set_pulse_color(c): |
The following are the sound effects/music and the places in which they were obtained... | |||||
Effects/click.wav | |||||
https://freesound.org/people/OtisJames/sounds/215772/ | |||||
Effects/generator1.wav | |||||
https://freesound.org/people/HerbertBoland/sounds/114594/ | |||||
Effects/saw.wav | |||||
https://freesound.org/people/Marregheriti/sounds/266104/ | |||||
[remap] | |||||
importer="wav" | |||||
type="AudioStreamSample" | |||||
path="res://.import/click.wav-15f0a8bac0191e01d61291a7ee455683.sample" | |||||
[deps] | |||||
source_file="res://Data/Sound/Effects/click.wav" | |||||
dest_files=[ "res://.import/click.wav-15f0a8bac0191e01d61291a7ee455683.sample" ] | |||||
[params] | |||||
force/8_bit=false | |||||
force/mono=false | |||||
force/max_rate=false | |||||
force/max_rate_hz=44100 | |||||
edit/trim=false | |||||
edit/normalize=false | |||||
edit/loop=false | |||||
compress/mode=0 |
[remap] | |||||
importer="wav" | |||||
type="AudioStreamSample" | |||||
path="res://.import/generator1.wav-7c89107f0246adc6370d751013550dff.sample" | |||||
[deps] | |||||
source_file="res://Data/Sound/Effects/generator1.wav" | |||||
dest_files=[ "res://.import/generator1.wav-7c89107f0246adc6370d751013550dff.sample" ] | |||||
[params] | |||||
force/8_bit=false | |||||
force/mono=false | |||||
force/max_rate=false | |||||
force/max_rate_hz=44100 | |||||
edit/trim=false | |||||
edit/normalize=false | |||||
edit/loop=false | |||||
compress/mode=0 |
[remap] | |||||
importer="wav" | |||||
type="AudioStreamSample" | |||||
path="res://.import/saw.wav-4d391556f8ccb707f189b4b5bb477e2e.sample" | |||||
[deps] | |||||
source_file="res://Data/Sound/Effects/saw.wav" | |||||
dest_files=[ "res://.import/saw.wav-4d391556f8ccb707f189b4b5bb477e2e.sample" ] | |||||
[params] | |||||
force/8_bit=false | |||||
force/mono=false | |||||
force/max_rate=false | |||||
force/max_rate_hz=44100 | |||||
edit/trim=false | |||||
edit/normalize=false | |||||
edit/loop=true | |||||
compress/mode=0 |
extends Node2D | |||||
func _on_Area2D_body_entered(body): | |||||
var bs = get_parent().get_node("BladeSaw") | |||||
bs.active = !bs.active |
[gd_resource type="AudioBusLayout" format=2] | |||||
[resource] | |||||
bus/1/name = "Effects" | |||||
bus/1/solo = false | |||||
bus/1/mute = false | |||||
bus/1/bypass_fx = false | |||||
bus/1/volume_db = 0.0 | |||||
bus/1/send = "Master" |