source: Studio/Camera.gd@ 25e7b67

sandbox
Last change on this file since 25e7b67 was 70fb6d4, checked in by Kevin Chapman <victory2b@…>, 4 years ago

Stamina bar in process

  • Property mode set to 100644
File size: 2.0 KB
Line 
1extends Camera
2
3onready var fall_anim = $AnimationPlayer
4
5func _ready():
6 pass
7
8
9# enum = {
10# MODE_PLAYER,
11# MODE_FOLLOW,
12# MODE_ZOOM
13#}
14
15#const SNAP_DISTANCE = 0.05
16#const TARGET_VECTOR = Vector3(0,0,-1) # Targeting vector/angle, relative to target node. Multiplied by "distance".
17#const MIN_DISTANCE = 0.5
18#const MAX_DISTANCE = 2.5
19#const UP = Vector3(0,1,0)
20
21#export var speed = 2.0
22
23#var anchor # To bring the camera back once it needs to. (Transform)
24#var target # Node to follow or zoom on. (Node)
25#var distance # Distance when zooming in or out. (float)
26#var mode # Currently active mode. (int)
27
28#func follow(target_node):
29# if !is_processing():
30# anchor = transform
31# set_process(true)
32# distance = 1.0
33# target = target_node
34# mode = MODE_FOLLOW
35
36#func zoom(target_node):
37# if !is_processing():
38# anchor = transform
39# set_process(true)
40# distance = 1.0
41# target = target_node
42# mode = MODE_ZOOM
43
44#func go_to_player():
45# target = null
46# mode = MODE_PLAYER
47# set_process(true)
48
49#func snap_to_player():
50# transform = anchor
51# set_process(false)
52
53#func _ready():
54# set_process(false)
55# mode = MODE_PLAYER
56# anchor = transform
57# distance = 1.0
58
59#func _process(delta): match mode:
60# MODE_PLAYER:
61# var newTransform = transform.interpolate_with(anchor, delta * speed)
62# if newTransform.origin.distance_to(anchor.origin) < SNAP_DISTANCE:
63# transform = anchor
64# set_process(false)
65# else:
66# transform = newTransform
67# MODE_FOLLOW:
68# distance = clamp(distance + delta / 8, 1.0, MAX_DISTANCE)
69# var targetTransform = target.global_transform
70# targetTransform.origin += targetTransform.basis.xform(TARGET_VECTOR * distance)
71# global_transform = global_transform.interpolate_with(targetTransform, delta * speed)
72# look_at(target, UP)
73# MODE_ZOOM:
74# distance = clamp(distance - delta / 4, MIN_DISTANCE, 1.0)
75# var targetTransform = target.global_transform
76# targetTransform.origin += targetTransform.basis.xform(TARGET_VECTOR * distance)
77# global_transform = global_transform.interpolate_with(targetTransform, delta * speed)
78# look_at(target, UP)
Note: See TracBrowser for help on using the repository browser.