Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Mover camera em grid na Godot ( estilo camera do Celeste)
- extends Camera2D
- @onready var player = get_node("../player") # pegando a referência do player
- var camera_w = 800 # largura da camera / janela
- var camera_h = 600 # altura da camera / janela
- func _ready():
- self.anchor_mode = Camera2D.ANCHOR_MODE_FIXED_TOP_LEFT # definindo a ancora da camera no topo esquerdo( padrão é no meio)
- func _physics_process(delta):
- var cam_x = self.position.x # guardando a posição.x da camera
- var cam_y = self.position.y # guardando a posição.y da camera
- var xx = floor(player.position.x / camera_w) * camera_w # cálculo para pegar a posição.x que a camera será atualizada
- var yy = floor(player.position.y / camera_h) * camera_h # cálculo para pegar a posição.y que a camera será atualizada
- # o flor() é para eu pegar apenas a parte inteira da divisão.Nesse caso o flor() arredonda para baixo ex : 4.9 = 4
- self.position.x = lerp(cam_x,float(xx),.06) # movendo a camera em x com um efeito de smoothing
- self.position.y = lerp(cam_y,float(yy),.06) # movendo a camera em y com um efeito de smoothing
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement