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