diff options
author | cel <cel@blos.sm> | 2022-07-16 22:49:16 +0100 |
---|---|---|
committer | cel <cel@blos.sm> | 2022-07-16 22:49:16 +0100 |
commit | c5bacb265a477f1f80be6a9fbdabc072fc074a59 (patch) | |
tree | 96274e9b60682415f31b266bc57ccf0d5bc34bfe /godot/scenes | |
parent | 373b0d66678a349d39146262d5b288b39c5cb1e1 (diff) | |
parent | fdbba87b346c6020d7349d0c2cb3793fcdab25f3 (diff) | |
download | 2022-c5bacb265a477f1f80be6a9fbdabc072fc074a59.tar.gz 2022-c5bacb265a477f1f80be6a9fbdabc072fc074a59.tar.bz2 2022-c5bacb265a477f1f80be6a9fbdabc072fc074a59.zip |
merged menu branch
Diffstat (limited to '')
-rw-r--r-- | godot/scenes/Die.gd | 66 | ||||
-rw-r--r-- | godot/scenes/Die.tscn (renamed from godot/scenes/objects/W8.tscn) | 21 | ||||
-rw-r--r-- | godot/scenes/Game.gd | 31 | ||||
-rw-r--r-- | godot/scenes/Game.tscn | 59 | ||||
-rw-r--r-- | godot/scenes/Menu.gd | 25 | ||||
-rw-r--r-- | godot/scenes/Menu.tscn | 42 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn | 5 | ||||
-rw-r--r-- | godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn | 4 | ||||
-rw-r--r-- | godot/scenes/objects/Player.tscn | 18 | ||||
-rw-r--r-- | godot/scenes/objects/old/Die.tscn | 11 | ||||
-rw-r--r-- | godot/scenes/scripts/roblox-cube.gd | 22 |
11 files changed, 262 insertions, 42 deletions
diff --git a/godot/scenes/Die.gd b/godot/scenes/Die.gd new file mode 100644 index 0000000..5e238f1 --- /dev/null +++ b/godot/scenes/Die.gd @@ -0,0 +1,66 @@ +extends Spatial + +var camrot_h = 0 +var camrot_v = 0 +var camrot_v_locked_val = 0 +var cam_v_min = -90 +var cam_v_max = 90 +var sensitivity = 0.5 +var dice_is_moving = false +var last_frame_position = Vector3(1.0,1.0,1.0) +var dragging = false +var mouse_origin = Vector2(0,0) +var dice_launch_force = 0 + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + $CamRoot/Horizontal/Vertical/Camera.add_exception(self) + $CamRoot.set_as_toplevel(true) + + +func _input(event): + if event is InputEventMouseMotion: + camrot_h += -event.relative.x * sensitivity + camrot_v += -event.relative.y * sensitivity + + if dice_is_moving == false: + if event is InputEventMouseMotion and dragging: + # While dragging, move the sprite with the mouse. + dice_launch_force = mouse_origin.distance_to(event.global_position) + camrot_v = camrot_v_locked_val + elif event is InputEventMouseButton and event.button_index == BUTTON_LEFT: + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + mouse_origin = event.global_position + camrot_v_locked_val = camrot_v + if not dragging and event.pressed: + dragging = true + # Stop dragging if the button is released. + elif dragging and not event.pressed: + dragging = false + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + + + + + +func _physics_process(delta): + camrot_v = clamp(camrot_v, cam_v_min, cam_v_max) + + $CamRoot/Horizontal.rotation_degrees.y = camrot_h + $CamRoot/Horizontal/Vertical.rotation_degrees.x = camrot_v + $CamRoot.translation.x = translation.x + $CamRoot.translation.y = translation.y + $CamRoot.translation.z = translation.z + + if last_frame_position != Vector3(translation.x, translation.y, translation.x): + dice_is_moving = true + else: + dice_is_moving = false + + last_frame_position = Vector3(translation.x, translation.y, translation.x) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass diff --git a/godot/scenes/objects/W8.tscn b/godot/scenes/Die.tscn index 8766011..57594ed 100644 --- a/godot/scenes/objects/W8.tscn +++ b/godot/scenes/Die.tscn @@ -1,5 +1,10 @@ +<<<<<<< HEAD:godot/scenes/objects/W8.tscn [gd_scene load_steps=6 format=2] +======= +[gd_scene load_steps=5 format=2] +>>>>>>> menu:godot/scenes/Die.tscn +[ext_resource path="res://scenes/Die.gd" type="Script" id=1] [ext_resource path="res://assets/game_objects/W8baseColor_Mat.material" type="Material" id=2] [sub_resource type="ArrayMesh" id=1] @@ -20,11 +25,16 @@ surfaces/0 = { [sub_resource type="ConvexPolygonShape" id=2] points = PoolVector3Array( -0.0850063, -0.879389, -0.0282584, 0.0288993, 0.929375, 0.0289349, 0.0288993, 0.929375, -0.0289349, 0.929367, -0.0289314, 0.0289314, -0.0289784, -0.0289338, 0.929338, -0.929369, 0.028929, 0.028929, 0.0288993, -0.0289349, -0.929375, 0.0288993, -0.929375, 0.0289349, -0.0850063, 0.0282584, -0.879389, 0.0282247, 0.084959, 0.87945, 0.857489, 0.056933, -0.0855785, -0.879454, -0.0849424, 0.0282549, 0.0570775, -0.885814, -0.0571088, 0.0570775, -0.0571088, 0.885814, -0.0571532, 0.885743, -0.0571043, -0.0571532, 0.885743, 0.0571043, 0.0570775, 0.0571088, -0.885814, -0.885806, -0.057097, -0.057097, 0.879446, 0.0849494, 0.0282572, 0.857335, -0.0571018, -0.0855632, -0.0571532, 0.0571043, 0.885743, -0.0571532, -0.885743, 0.0571043, -0.885806, 0.057097, -0.057097, -0.0571532, -0.0571043, -0.885743, 0.0570775, 0.0571088, 0.885814, -0.0571532, -0.885743, -0.0571043, -0.0571532, 0.0571043, -0.885743, 0.0570775, -0.885814, 0.0571088, 0.0570775, 0.885814, 0.0571088, -0.0571532, -0.0571043, 0.885743, -0.885806, 0.057097, 0.057097, 0.0570775, 0.885814, -0.0571088, 0.0570775, -0.0571088, -0.885814, 0.857335, -0.0571018, 0.0855632, -0.885806, -0.057097, 0.057097, 0.857489, 0.056933, 0.0855785, 0.929425, 0.0287513, -0.0289333, 0.929367, -0.0289314, -0.0289314, -0.0289784, 0.929338, -0.0289338, 0.0288993, 0.0289349, -0.929375, -0.929369, -0.028929, -0.028929, -0.0283039, -0.87942, -0.0849561, 0.084933, 0.0282608, 0.879461, -0.0289784, 0.929338, 0.0289338, -0.0289784, -0.0289338, -0.929338, -0.0289784, 0.0289338, 0.929338, 0.0288993, -0.0289349, 0.929375, 0.0288993, -0.929375, -0.0289349, -0.0289784, -0.929338, 0.0289338, -0.929369, 0.028929, -0.028929, -0.0283039, 0.0849561, -0.87942, -0.879454, -0.0282549, 0.0849424, 0.879512, 0.0280816, 0.0849558, 0.879446, -0.0849494, -0.0282572, -0.0282988, -0.822574, 0.141805, 0.17021, 0.0280745, -0.794261, -0.879454, 0.0849424, -0.0282549, -0.0283039, 0.87942, 0.0849561, 0.0282247, 0.87945, -0.084959, 0.0282247, -0.084959, -0.87945, -0.879454, -0.0282549, -0.0849424, -0.0850063, 0.0282584, 0.879389, -0.0850063, 0.879389, 0.0282584, 0.084933, -0.0282608, 0.879461 ) +<<<<<<< HEAD:godot/scenes/objects/W8.tscn [sub_resource type="SphereShape" id=3] [sub_resource type="SphereMesh" id=4] [node name="RigidBody" type="RigidBody"] +======= +[node name="Die" type="RigidBody"] +script = ExtResource( 1 ) +>>>>>>> menu:godot/scenes/Die.tscn [node name="MeshDie" type="MeshInstance" parent="."] mesh = SubResource( 1 ) @@ -34,6 +44,7 @@ material/0 = null [node name="CollisionShapeDie" type="CollisionShape" parent="."] shape = SubResource( 2 ) +<<<<<<< HEAD:godot/scenes/objects/W8.tscn [node name="CollisionShapeSphere" type="CollisionShape" parent="."] transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0 ) shape = SubResource( 3 ) @@ -44,3 +55,13 @@ transform = Transform( 0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0 ) visible = false mesh = SubResource( 4 ) material/0 = ExtResource( 2 ) +======= +[node name="CamRoot" type="Spatial" parent="."] + +[node name="Horizontal" type="Spatial" parent="CamRoot"] + +[node name="Vertical" type="Spatial" parent="CamRoot/Horizontal"] + +[node name="Camera" type="ClippedCamera" parent="CamRoot/Horizontal/Vertical"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10.1285 ) +>>>>>>> menu:godot/scenes/Die.tscn diff --git a/godot/scenes/Game.gd b/godot/scenes/Game.gd new file mode 100644 index 0000000..31e543d --- /dev/null +++ b/godot/scenes/Game.gd @@ -0,0 +1,31 @@ +extends Spatial + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# 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("ui_cancel"): + get_tree().paused = true + $PausePopup.show() + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + + + + +func _on_QuitButton_pressed(): + get_tree().quit() + + +func _on_ResumeButton_pressed(): + $PausePopup.hide() + get_tree().paused = false + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) diff --git a/godot/scenes/Game.tscn b/godot/scenes/Game.tscn index 38a4ceb..710e5b5 100644 --- a/godot/scenes/Game.tscn +++ b/godot/scenes/Game.tscn @@ -1,3 +1,4 @@ +<<<<<<< HEAD [gd_scene load_steps=8 format=2] [ext_resource path="res://native/Game.gdns" type="Script" id=1] @@ -9,6 +10,14 @@ [sub_resource type="CubeMesh" id=2] [sub_resource type="SphereMesh" id=3] +======= +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://scenes/Game.gd" type="Script" id=1] +[ext_resource path="res://scenes/levels/test_scene_movement/TestSceneMovement.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/theme.tres" type="Theme" id=3] +[ext_resource path="res://assets/fonts/format.tres" type="DynamicFont" id=4] +>>>>>>> menu [node name="Game" type="Spatial"] script = ExtResource( 1 ) @@ -38,3 +47,53 @@ input/camera_mouse_sensitivity = Vector2( 0.005, 0.005 ) input/shoot_sensitivity = 0.005 [node name="TestScene" parent="." instance=ExtResource( 2 )] + +[node name="PausePopup" type="Control" parent="."] +pause_mode = 2 +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = 40.0 +margin_bottom = 40.0 + +[node name="Panel" type="Panel" parent="PausePopup"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 300.0 +margin_top = 200.0 +margin_right = -300.0 +margin_bottom = -200.0 +theme = ExtResource( 3 ) + +[node name="Label" type="Label" parent="PausePopup/Panel"] +anchor_right = 1.0 +anchor_bottom = 0.3 +theme = ExtResource( 3 ) +custom_fonts/font = ExtResource( 4 ) +text = "Game is Paused" +align = 1 +valign = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="PausePopup/Panel"] +anchor_top = 0.3 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 500.0 +margin_right = -500.0 +custom_constants/separation = 20 +alignment = 1 + +[node name="ResumeButton" type="Button" parent="PausePopup/Panel/VBoxContainer"] +margin_top = 161.0 +margin_right = 360.0 +margin_bottom = 242.0 +text = "Resume" + +[node name="QuitButton" type="Button" parent="PausePopup/Panel/VBoxContainer"] +margin_top = 262.0 +margin_right = 360.0 +margin_bottom = 343.0 +text = "Quit" + +[connection signal="pressed" from="PausePopup/Panel/VBoxContainer/ResumeButton" to="." method="_on_ResumeButton_pressed"] +[connection signal="pressed" from="PausePopup/Panel/VBoxContainer/QuitButton" to="." method="_on_QuitButton_pressed"] diff --git a/godot/scenes/Menu.gd b/godot/scenes/Menu.gd new file mode 100644 index 0000000..2634e37 --- /dev/null +++ b/godot/scenes/Menu.gd @@ -0,0 +1,25 @@ +extends Control + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# 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 + + +func _on_StartButton_pressed(): + get_tree().change_scene("res://scenes/Game.tscn") + + + +func _on_QuitButton_pressed(): + get_tree().quit() diff --git a/godot/scenes/Menu.tscn b/godot/scenes/Menu.tscn new file mode 100644 index 0000000..5529448 --- /dev/null +++ b/godot/scenes/Menu.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://assets/theme.tres" type="Theme" id=1] +[ext_resource path="res://scenes/Menu.gd" type="Script" id=2] + +[node name="Menu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 2 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +anchor_right = 0.25 +anchor_bottom = 1.0 +margin_left = 40.0 +margin_top = 789.0 +margin_bottom = -40.0 +theme = ExtResource( 1 ) +alignment = 2 + +[node name="StartButton" type="Button" parent="VBoxContainer"] +margin_top = 85.0 +margin_right = 440.0 +margin_bottom = 166.0 +focus_neighbour_top = NodePath("../QuitButton") +text = "Start" + +[node name="LevelButton" type="Button" parent="VBoxContainer"] +visible = false +margin_top = 85.0 +margin_right = 440.0 +margin_bottom = 166.0 +text = "Levels" + +[node name="QuitButton" type="Button" parent="VBoxContainer"] +margin_top = 170.0 +margin_right = 440.0 +margin_bottom = 251.0 +focus_neighbour_bottom = NodePath("../StartButton") +text = "Quit" + +[connection signal="pressed" from="VBoxContainer/StartButton" to="." method="_on_StartButton_pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="_on_QuitButton_pressed"] diff --git a/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn b/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn index d23236b..dc25498 100644 --- a/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn +++ b/godot/scenes/levels/test_scene_movement/TestSceneMovement.tscn @@ -2,7 +2,7 @@ [ext_resource path="res://scenes/levels/test_scene_uuuhhh/Wall.tscn" type="PackedScene" id=1] [ext_resource path="res://scenes/levels/test_scene_uuuhhh/Floor.tscn" type="PackedScene" id=2] -[ext_resource path="res://scenes/objects/Player.tscn" type="PackedScene" id=3] +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=3] [node name="TestScene" type="Spatial"] @@ -27,4 +27,5 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 40, -1, -20 ) [node name="Wall" parent="." instance=ExtResource( 1 )] transform = Transform( 0.766044, 0, 0.642788, 0, 2, 0, -0.642788, 0, 0.766044, 19.47, 0, -14 ) -[node name="PlayerRoot" parent="." instance=ExtResource( 3 )] +[node name="Die" parent="." instance=ExtResource( 3 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.759363, 4.18965, -3.60846 ) diff --git a/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn b/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn index 0e4c8dc..c1c8707 100644 --- a/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn +++ b/godot/scenes/levels/test_scene_uuuhhh/TestSceneUuuhhh.tscn @@ -3,6 +3,10 @@ [ext_resource path="res://scenes/levels/test_scene_uuuhhh/Wall.tscn" type="PackedScene" id=1] [ext_resource path="res://scenes/levels/test_scene_uuuhhh/Floor.tscn" type="PackedScene" id=2] [ext_resource path="res://assets/sounds/Uuhhh.mp3" type="AudioStream" id=4] +<<<<<<< HEAD +======= +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=5] +>>>>>>> menu [node name="TestScene" type="Spatial"] diff --git a/godot/scenes/objects/Player.tscn b/godot/scenes/objects/Player.tscn deleted file mode 100644 index cc3662e..0000000 --- a/godot/scenes/objects/Player.tscn +++ /dev/null @@ -1,18 +0,0 @@ -[gd_scene load_steps=4 format=2] - -[ext_resource path="res://scenes/objects/W8.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/objects/Camera.tscn" type="PackedScene" id=2] -[ext_resource path="res://native/BasicDie.gdns" type="Script" id=3] - -[node name="PlayerRoot" type="Spatial"] -script = ExtResource( 3 ) -camera/camera_clamp = Vector2( 0, -1.3 ) -shooting/max_force = 30.0 -shooting/up_angle = 0.3 -shooting/stopping_velocity = 0.003 - -[node name="W8" parent="." instance=ExtResource( 1 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0 ) - -[node name="Camera" parent="." instance=ExtResource( 2 )] -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0 ) diff --git a/godot/scenes/objects/old/Die.tscn b/godot/scenes/objects/old/Die.tscn new file mode 100644 index 0000000..cab0d15 --- /dev/null +++ b/godot/scenes/objects/old/Die.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://scenes/Die.tscn" type="PackedScene" id=1] + +[node name="Die" type="Spatial"] + +[node name="Die" parent="." instance=ExtResource( 1 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0 ) + +[node name="CamRoot" type="Spatial" parent="Die"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.1, 0 ) diff --git a/godot/scenes/scripts/roblox-cube.gd b/godot/scenes/scripts/roblox-cube.gd deleted file mode 100644 index 453067b..0000000 --- a/godot/scenes/scripts/roblox-cube.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends Spatial - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" -func on_collision(other): - var ap = get_parent().get_node("AudioStreamPlayer") - ap.play() - - -# Called when the node enters the scene tree for the first time. -func _ready(): - var rb = self - rb.apply_impulse(Vector3(), Vector3(40, 1, 10)) - rb.connect("body_entered", self, "on_collision") - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - |