fix: slightly improved dvd thingy
This commit is contained in:
parent
d3affaca7d
commit
495e6ed2ed
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=18 format=2]
|
[gd_scene load_steps=17 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=2]
|
||||||
@ -13,8 +13,6 @@
|
|||||||
[ext_resource path="res://addons/controller_icons/objects/Button.gd" type="Script" id=11]
|
[ext_resource path="res://addons/controller_icons/objects/Button.gd" type="Script" id=11]
|
||||||
[ext_resource path="res://src/Levels/TutorialThingy.gd" type="Script" id=12]
|
[ext_resource path="res://src/Levels/TutorialThingy.gd" type="Script" id=12]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=14]
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
[sub_resource type="AnimationNodeStateMachinePlayback" id=4]
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=12]
|
[sub_resource type="ConvexPolygonShape2D" id=12]
|
||||||
@ -103,19 +101,11 @@ unique_name_in_owner = true
|
|||||||
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
|
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
|
||||||
wait_time = 20.0
|
wait_time = 20.0
|
||||||
|
|
||||||
[node name="TutorialButton" type="StaticBody2D" parent="."]
|
[node name="TutorialThingy" type="Sprite" parent="."]
|
||||||
z_index = 4
|
z_index = 3
|
||||||
z_as_relative = false
|
|
||||||
collision_layer = 0
|
|
||||||
collision_mask = 0
|
|
||||||
script = ExtResource( 12 )
|
script = ExtResource( 12 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="TutorialButton"]
|
[node name="ControllerButton" type="Button" parent="TutorialThingy"]
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="TutorialButton"]
|
|
||||||
shape = SubResource( 14 )
|
|
||||||
|
|
||||||
[node name="ControllerButton" type="Button" parent="TutorialButton"]
|
|
||||||
visible = false
|
visible = false
|
||||||
margin_left = -10.0
|
margin_left = -10.0
|
||||||
margin_top = -10.0
|
margin_top = -10.0
|
||||||
@ -131,10 +121,10 @@ drag_margin_bottom = 0.3
|
|||||||
visible = true
|
visible = true
|
||||||
|
|
||||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||||
frame = 3
|
frame = 11
|
||||||
|
|
||||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||||
frame = 10
|
frame = 4
|
||||||
|
|
||||||
[node name="Blobby" parent="." instance=ExtResource( 9 )]
|
[node name="Blobby" parent="." instance=ExtResource( 9 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|||||||
@ -1,34 +1,38 @@
|
|||||||
extends StaticBody2D
|
extends Sprite
|
||||||
var screen_size: Vector2
|
var screen_size: Vector2
|
||||||
var velocity = Vector2(1,1)
|
var velocity = Vector2(1,1)
|
||||||
onready var blobby = $"%Blobby"
|
onready var blobby = $"%Blobby"
|
||||||
onready var cam = $"%BlobbyCam"
|
onready var cam = $"%BlobbyCam"
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$ControllerButton.path = "jump"
|
$ControllerButton.path = "move_right"
|
||||||
screen_size = cam.screen_rect
|
screen_size = cam.screen_rect
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
$Sprite.texture = $ControllerButton.icon
|
# TODO process less in each frame
|
||||||
var tex_size = Vector2(20,20)
|
self.texture = $ControllerButton.icon
|
||||||
var up_left_pos = cam.get_global_transform().affine_inverse() * (position - tex_size/2)
|
self.scale.x = 0.5
|
||||||
var down_right_pos = cam.get_global_transform().affine_inverse() * (position + tex_size/2)
|
self.scale.y = 0.5
|
||||||
|
var tex_size = Vector2(self.texture.get_width(), self.texture.get_height()/4)
|
||||||
var screen_stretch_factor = get_tree().root.size / screen_size
|
var up_left_pos = cam.get_global_transform().affine_inverse() * (position - tex_size/2)
|
||||||
var blobby_screen_pos = (blobby.get_viewport_transform() * (blobby.position))/screen_stretch_factor
|
var down_right_pos = cam.get_global_transform().affine_inverse() * (position + tex_size/2)
|
||||||
var corrected_screen = screen_size - blobby_screen_pos
|
|
||||||
print(get_tree().root.get_visible_rect().position)
|
var screen_stretch_factor = get_tree().root.size / screen_size
|
||||||
|
var blobby_screen_pos = (blobby.get_viewport_transform() * (blobby.position))/screen_stretch_factor
|
||||||
if up_left_pos.x + blobby_screen_pos.x <= 0:
|
var corrected_screen = screen_size - blobby_screen_pos
|
||||||
velocity.x = 1
|
print(get_tree().root.get_visible_rect().position)
|
||||||
elif down_right_pos.x >= corrected_screen.x:
|
|
||||||
velocity.x = -1
|
if up_left_pos.x + blobby_screen_pos.x <= 0:
|
||||||
|
velocity.x = 1
|
||||||
if up_left_pos.y + blobby_screen_pos.y <= 0:
|
elif down_right_pos.x >= corrected_screen.x:
|
||||||
velocity.y = 1
|
velocity.x = -1
|
||||||
elif down_right_pos.y >= corrected_screen.y:
|
|
||||||
velocity.y = -1
|
if up_left_pos.y + blobby_screen_pos.y <= 0:
|
||||||
|
velocity.y = 1
|
||||||
self.position += velocity
|
elif down_right_pos.y >= corrected_screen.y:
|
||||||
|
velocity.y = -1
|
||||||
|
|
||||||
|
self.position += velocity
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -6,24 +6,24 @@ export var button_size: Vector2 = Vector2(30,30)
|
|||||||
export var interactable: bool = false
|
export var interactable: bool = false
|
||||||
|
|
||||||
func initialize(action_name, event):
|
func initialize(action_name, event):
|
||||||
$Action.text = action_name.capitalize()
|
$Action.text = action_name.capitalize()
|
||||||
$Key.add_child(create_controller_button(event))
|
$Key.add_child(create_controller_button(event))
|
||||||
|
|
||||||
func update_key(event):
|
func update_key(event):
|
||||||
$Key.remove_child($Key.get_child(0))
|
$Key.remove_child($Key.get_child(0))
|
||||||
$Key.add_child(create_controller_button(event))
|
$Key.add_child(create_controller_button(event))
|
||||||
|
|
||||||
func create_controller_button(event) -> ControllerButton:
|
func create_controller_button(event) -> ControllerButton:
|
||||||
var event_path = ControllerIcons._convert_event_to_path(event)
|
var event_path = ControllerIcons._convert_event_to_path(event)
|
||||||
var controller_button: ControllerButton = ControllerButton.new()
|
var controller_button: ControllerButton = ControllerButton.new()
|
||||||
controller_button.path = event_path
|
controller_button.path = event_path
|
||||||
if(!interactable):
|
if(!interactable):
|
||||||
controller_button.focus_mode = FOCUS_NONE
|
controller_button.focus_mode = FOCUS_NONE
|
||||||
controller_button.enabled_focus_mode = FOCUS_NONE
|
controller_button.enabled_focus_mode = FOCUS_NONE
|
||||||
controller_button.mouse_filter = MOUSE_FILTER_IGNORE
|
controller_button.mouse_filter = MOUSE_FILTER_IGNORE
|
||||||
controller_button.rect_size = button_size
|
controller_button.rect_size = button_size
|
||||||
controller_button.expand_icon = true
|
controller_button.expand_icon = true
|
||||||
return controller_button
|
return controller_button
|
||||||
|
|
||||||
func _on_ChangeButton_pressed():
|
func _on_ChangeButton_pressed():
|
||||||
emit_signal('change_button_pressed')
|
emit_signal('change_button_pressed')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user