scroll/zoom
This commit is contained in:
parent
4ad85497c9
commit
4faeccff10
37
Camera2D.gd
Normal file
37
Camera2D.gd
Normal file
@ -0,0 +1,37 @@
|
||||
extends Camera2D
|
||||
|
||||
var zoom_speed=Vector2(.2,.2)
|
||||
var scrolling=false;
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventMouseButton:
|
||||
if event.is_pressed():
|
||||
if event.button_index==MOUSE_BUTTON_WHEEL_UP:
|
||||
zoom+=zoom_speed
|
||||
if event.button_index==MOUSE_BUTTON_WHEEL_DOWN:
|
||||
zoom-=zoom_speed
|
||||
if event.button_index==MOUSE_BUTTON_MIDDLE:
|
||||
scrolling=true
|
||||
if event.is_released():
|
||||
if event.button_index==MOUSE_BUTTON_MIDDLE:
|
||||
scrolling=false
|
||||
if event is InputEventMouseMotion:
|
||||
if scrolling:
|
||||
offset-=event.velocity*0.1
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
if Input.is_action_pressed('move_up'):
|
||||
offset.y -= 1
|
||||
if Input.is_action_pressed('move_down'):
|
||||
offset.y += 1
|
||||
if Input.is_action_pressed('move_left'):
|
||||
offset.x -= 1
|
||||
if Input.is_action_pressed('move_right'):
|
||||
offset.x += 1
|
||||
# if Input.is_action_just_pressed('take'):
|
||||
# drop()
|
12
map_select.gd
Normal file
12
map_select.gd
Normal file
@ -0,0 +1,12 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("escape"):
|
||||
get_tree().quit() # default behavior
|
@ -1,17 +1,19 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://iskh4m3ltqul"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://iskh4m3ltqul"]
|
||||
|
||||
[ext_resource type="Script" path="res://map_select.gd" id="1_f0hdc"]
|
||||
[ext_resource type="Script" path="res://Button.gd" id="1_rygkg"]
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_kd1xo"]
|
||||
font_size = 32
|
||||
|
||||
[node name="MapSelect" type="Node2D"]
|
||||
script = ExtResource("1_f0hdc")
|
||||
|
||||
[node name="Title" type="Label" parent="."]
|
||||
offset_left = 27.0
|
||||
offset_top = 127.0
|
||||
offset_right = 196.0
|
||||
offset_bottom = 175.0
|
||||
offset_left = 29.0
|
||||
offset_top = 17.0
|
||||
offset_right = 198.0
|
||||
offset_bottom = 65.0
|
||||
text = "Map Select"
|
||||
label_settings = SubResource("LabelSettings_kd1xo")
|
||||
|
||||
@ -69,24 +71,27 @@ text = "RGB Sections"
|
||||
script = ExtResource("1_rygkg")
|
||||
map_path = "res://maps/rgb_sections.tscn"
|
||||
|
||||
[node name="Drop" type="CheckBox" parent="."]
|
||||
offset_left = 33.0
|
||||
offset_top = 74.0
|
||||
offset_right = 194.0
|
||||
offset_bottom = 105.0
|
||||
text = "Drop on Collision"
|
||||
|
||||
[node name="Title2" type="Label" parent="."]
|
||||
offset_left = 24.0
|
||||
offset_top = 14.0
|
||||
offset_right = 193.0
|
||||
offset_bottom = 62.0
|
||||
text = "Options"
|
||||
offset_left = 17.0
|
||||
offset_top = 133.0
|
||||
offset_right = 186.0
|
||||
offset_bottom = 181.0
|
||||
text = "Archived"
|
||||
label_settings = SubResource("LabelSettings_kd1xo")
|
||||
|
||||
[node name="Button7" type="Button" parent="."]
|
||||
offset_left = 35.0
|
||||
offset_top = 71.0
|
||||
offset_right = 210.0
|
||||
offset_bottom = 134.0
|
||||
text = "Sections"
|
||||
script = ExtResource("1_rygkg")
|
||||
map_path = "res://maps/sections.tscn"
|
||||
|
||||
[connection signal="pressed" from="Button" to="Button" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button2" to="Button2" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button3" to="Button3" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button4" to="Button4" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button5" to="Button5" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button6" to="Button6" method="_on_pressed"]
|
||||
[connection signal="pressed" from="Button7" to="Button7" method="_on_pressed"]
|
||||
|
11
maps/map_tools.gd
Normal file
11
maps/map_tools.gd
Normal file
@ -0,0 +1,11 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
32
maps/sections.gd
Normal file
32
maps/sections.gd
Normal file
@ -0,0 +1,32 @@
|
||||
extends Node2D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
poolcircle(Vector2(0,0),200,32,100,0,0)
|
||||
poolcircle(Vector2(600,0),200,32,0,100,0)
|
||||
poolcircle(Vector2(1200,0),200,32,0,0,100)
|
||||
|
||||
poolcircle(Vector2(0,600),200,32,0,50,50)
|
||||
poolcircle(Vector2(600,600),200,32,50,0,50)
|
||||
poolcircle(Vector2(1200,600),200,32,50,50,0)
|
||||
|
||||
poolcircle(Vector2(600,200),2000,100,1000,1000,1000)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
func poolcircle(pos: Vector2, radius, count, r,g,b):
|
||||
|
||||
for n in range(1,count+1):
|
||||
var new_pool: Pool = load("res://pool.tscn").instantiate()
|
||||
var t=(float(n)/count)*3.141*2
|
||||
print(t)
|
||||
new_pool.position = pos + (Vector2(sin(t),cos(t))*radius)
|
||||
new_pool.mana_r=r
|
||||
new_pool.mana_g=g
|
||||
new_pool.mana_b=b
|
||||
new_pool.get_node("StaticBody2D/CollisionShape2D2").disabled=true;
|
||||
get_tree().root.get_node("Sim").call_deferred("add_child",new_pool)
|
6
maps/sections.tscn
Normal file
6
maps/sections.tscn
Normal file
@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bkapistmqmur8"]
|
||||
|
||||
[ext_resource type="Script" path="res://maps/sections.gd" id="1_ihwvy"]
|
||||
|
||||
[node name="Map" type="Node2D"]
|
||||
script = ExtResource("1_ihwvy")
|
@ -12,13 +12,9 @@ config_version=5
|
||||
|
||||
config/name="RGB Physics Life"
|
||||
run/main_scene="res://map_select.tscn"
|
||||
config/features=PackedStringArray("4.1", "Mobile")
|
||||
config/features=PackedStringArray("4.2", "Mobile")
|
||||
config/icon="res://images/icon.svg"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/resizable=false
|
||||
|
||||
[input]
|
||||
|
||||
move_up={
|
||||
@ -71,4 +67,4 @@ escape={
|
||||
|
||||
[rendering]
|
||||
|
||||
renderer/rendering_method="mobile"
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
|
7
sim.gd
7
sim.gd
@ -4,7 +4,8 @@ var spawn_position=Vector2(100,100);
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
setup_edge_collisions()
|
||||
#setup_edge_collisions()
|
||||
pass
|
||||
|
||||
func setup_edge_collisions():
|
||||
var screen_size = get_viewport_rect().size
|
||||
@ -41,11 +42,11 @@ func _input(event):
|
||||
get_tree().change_scene_to_file("res://map_select.tscn")
|
||||
get_node("/root/Sim").queue_free()
|
||||
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
|
||||
spawn_position=event.position
|
||||
spawn_position=get_global_mouse_position()
|
||||
spawn()
|
||||
$Timer.stop()
|
||||
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_RIGHT:
|
||||
spawn_position=event.position
|
||||
spawn_position=get_global_mouse_position()
|
||||
$Timer.start()
|
||||
|
||||
func _on_timer_timeout():
|
||||
|
20
sim.tscn
20
sim.tscn
@ -1,18 +1,13 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://bpy475nyq5ea1"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bpy475nyq5ea1"]
|
||||
|
||||
[ext_resource type="Script" path="res://sim.gd" id="1_wbm7g"]
|
||||
[ext_resource type="Script" path="res://Debug.gd" id="2_iqnjl"]
|
||||
[ext_resource type="Script" path="res://TimerSS.gd" id="3_7b3mn"]
|
||||
[ext_resource type="Script" path="res://Camera2D.gd" id="4_g4kw0"]
|
||||
|
||||
[node name="Sim" type="Node2D"]
|
||||
script = ExtResource("1_wbm7g")
|
||||
|
||||
[node name="Debug" type="Label" parent="."]
|
||||
offset_right = 67.0
|
||||
offset_bottom = 26.0
|
||||
text = "debug"
|
||||
script = ExtResource("2_iqnjl")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
|
||||
@ -21,5 +16,16 @@ wait_time = 60.0
|
||||
autostart = true
|
||||
script = ExtResource("3_7b3mn")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
script = ExtResource("4_g4kw0")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="Debug" type="Label" parent="CanvasLayer"]
|
||||
offset_right = 67.0
|
||||
offset_bottom = 26.0
|
||||
text = "debug"
|
||||
script = ExtResource("2_iqnjl")
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="TimerSS" to="TimerSS" method="_on_timeout"]
|
||||
|
71
test.tscn
Normal file
71
test.tscn
Normal file
@ -0,0 +1,71 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bkjmlky5ihri0"]
|
||||
|
||||
[ext_resource type="Script" path="res://sim.gd" id="1_gqc3c"]
|
||||
[ext_resource type="Script" path="res://Debug.gd" id="2_gfcm0"]
|
||||
[ext_resource type="Script" path="res://TimerSS.gd" id="3_gvywt"]
|
||||
[ext_resource type="Script" path="res://Camera2D.gd" id="4_1cl5t"]
|
||||
[ext_resource type="PackedScene" uid="uid://65vslfrgjtly" path="res://maps/rgb_sections.tscn" id="5_6ne8u"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_jlloy"]
|
||||
size = Vector2(1152, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kvylm"]
|
||||
size = Vector2(1152, 20)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ygq31"]
|
||||
size = Vector2(20, 648)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_piktq"]
|
||||
size = Vector2(20, 648)
|
||||
|
||||
[node name="Sim" type="Node2D"]
|
||||
script = ExtResource("1_gqc3c")
|
||||
|
||||
[node name="Debug" type="Label" parent="."]
|
||||
offset_right = 67.0
|
||||
offset_bottom = 26.0
|
||||
text = "00:00:22 60 fps"
|
||||
script = ExtResource("2_gfcm0")
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.3
|
||||
|
||||
[node name="TimerSS" type="Timer" parent="."]
|
||||
wait_time = 60.0
|
||||
script = ExtResource("3_gvywt")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
script = ExtResource("4_1cl5t")
|
||||
|
||||
[node name="Map" parent="." instance=ExtResource("5_6ne8u")]
|
||||
|
||||
[node name="_StaticBody2D_2" type="StaticBody2D" parent="."]
|
||||
position = Vector2(576, 0)
|
||||
collision_layer = 4
|
||||
|
||||
[node name="_CollisionShape2D_3" type="CollisionShape2D" parent="_StaticBody2D_2"]
|
||||
shape = SubResource("RectangleShape2D_jlloy")
|
||||
|
||||
[node name="_StaticBody2D_4" type="StaticBody2D" parent="."]
|
||||
position = Vector2(576, 648)
|
||||
collision_layer = 4
|
||||
|
||||
[node name="_CollisionShape2D_5" type="CollisionShape2D" parent="_StaticBody2D_4"]
|
||||
shape = SubResource("RectangleShape2D_kvylm")
|
||||
|
||||
[node name="_StaticBody2D_6" type="StaticBody2D" parent="."]
|
||||
position = Vector2(0, 324)
|
||||
collision_layer = 4
|
||||
|
||||
[node name="_CollisionShape2D_7" type="CollisionShape2D" parent="_StaticBody2D_6"]
|
||||
shape = SubResource("RectangleShape2D_ygq31")
|
||||
|
||||
[node name="_StaticBody2D_8" type="StaticBody2D" parent="."]
|
||||
position = Vector2(1152, 324)
|
||||
collision_layer = 4
|
||||
|
||||
[node name="_CollisionShape2D_9" type="CollisionShape2D" parent="_StaticBody2D_8"]
|
||||
shape = SubResource("RectangleShape2D_piktq")
|
||||
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||
[connection signal="timeout" from="TimerSS" to="TimerSS" method="_on_timeout"]
|
Loading…
Reference in New Issue
Block a user