Advertisement
Zunesha

Criando um screenshaker

Oct 30th, 2023 (edited)
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Criando um screenshaker ~>
  2.  
  3. 1- Nesse exemplo eu crio um objeto/scene screenshaker e sempre que quero aplicar o efeito eu instancio o mesmo na cena principal.
  4.  
  5. #########################################   Vamos ao scrip do objeto screenshaker:   #########################################
  6.  
  7. extends Node2D
  8.  
  9. @onready var camera = get_node("../Camera")                             # Aqui eu pego a referencia da camera.
  10.  
  11. var shake = 5                                                           # Quanto maior esse valor ,mais forte será o efeito
  12.  
  13. func _physics_process(delta):
  14.  
  15.    
  16.     camera.offset.x = randi_range(shake,-shake)                         # Vai movimentar a viwer na horizontal
  17.    
  18.     camera.offset.y  = randi_range(shake,-shake)                        # Vai movimentar a viwer na vertical
  19.  
  20.    
  21.     shake *= .95                                                     # Multiplicando ele por 0.95 ele perde 5 % da força por frame
  22.  
  23.    
  24.     if shake <.5:                                                       # Fazendo a viwer voltar pra posição inicial
  25.         camera.offset.x = 0
  26.         camera.offset.y = 0
  27.         queue_free()                                                    # Destruindo o objeto após acabar o efeito
  28.  
  29.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement