Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Criando um screenshaker ~>
- 1- Nesse exemplo eu crio um objeto/scene screenshaker e sempre que quero aplicar o efeito eu instancio o mesmo na cena principal.
- ######################################### Vamos ao scrip do objeto screenshaker: #########################################
- extends Node2D
- @onready var camera = get_node("../Camera") # Aqui eu pego a referencia da camera.
- var shake = 5 # Quanto maior esse valor ,mais forte será o efeito
- func _physics_process(delta):
- camera.offset.x = randi_range(shake,-shake) # Vai movimentar a viwer na horizontal
- camera.offset.y = randi_range(shake,-shake) # Vai movimentar a viwer na vertical
- shake *= .95 # Multiplicando ele por 0.95 ele perde 5 % da força por frame
- if shake <.5: # Fazendo a viwer voltar pra posição inicial
- camera.offset.x = 0
- camera.offset.y = 0
- queue_free() # Destruindo o objeto após acabar o efeito
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement