mirror of
https://github.com/tonytins/CozyPixelStudio.git
synced 2025-06-25 08:54:44 -04:00
Timeline UI changes
The onion skinning button replaces the old onion skinning area of the timeline, but there's no way right now to change the settings. This will be added in a future commit. More UI changes will soon follow.
This commit is contained in:
parent
278c9facb2
commit
07db587b6c
21 changed files with 516 additions and 199 deletions
|
@ -40,6 +40,12 @@ func add_frame() -> void:
|
|||
Global.undo_redo.add_undo_property(Global, "current_frame", Global.current_frame)
|
||||
Global.undo_redo.commit_action()
|
||||
|
||||
|
||||
func _on_OnionSkinning_pressed() -> void:
|
||||
Global.onion_skinning = !Global.onion_skinning
|
||||
Global.canvas.update()
|
||||
|
||||
|
||||
func _on_LoopAnim_pressed() -> void:
|
||||
match animation_loop:
|
||||
0: # Make it loop
|
||||
|
|
|
@ -72,37 +72,38 @@ func _ready() -> void:
|
|||
func _draw() -> void:
|
||||
draw_texture_rect(Global.transparent_background, Rect2(location, size), true) # Draw transparent background
|
||||
# Onion Skinning
|
||||
# Past
|
||||
if Global.onion_skinning_past_rate > 0:
|
||||
var color : Color
|
||||
if Global.onion_skinning_blue_red:
|
||||
color = Color.blue
|
||||
else:
|
||||
color = Color.white
|
||||
for i in range(1, Global.onion_skinning_past_rate + 1):
|
||||
if Global.current_frame >= i:
|
||||
var layer_i := 0
|
||||
for layer in Global.canvases[Global.current_frame - i].layers:
|
||||
if Global.layers[layer_i][1]: # If it's visible
|
||||
color.a = 0.6 / i
|
||||
draw_texture(layer[1], location, color)
|
||||
layer_i += 1
|
||||
if Global.onion_skinning:
|
||||
# Past
|
||||
if Global.onion_skinning_past_rate > 0:
|
||||
var color : Color
|
||||
if Global.onion_skinning_blue_red:
|
||||
color = Color.blue
|
||||
else:
|
||||
color = Color.white
|
||||
for i in range(1, Global.onion_skinning_past_rate + 1):
|
||||
if Global.current_frame >= i:
|
||||
var layer_i := 0
|
||||
for layer in Global.canvases[Global.current_frame - i].layers:
|
||||
if Global.layers[layer_i][1]: # If it's visible
|
||||
color.a = 0.6 / i
|
||||
draw_texture(layer[1], location, color)
|
||||
layer_i += 1
|
||||
|
||||
# Future
|
||||
if Global.onion_skinning_future_rate > 0:
|
||||
var color : Color
|
||||
if Global.onion_skinning_blue_red:
|
||||
color = Color.red
|
||||
else:
|
||||
color = Color.white
|
||||
for i in range(1, Global.onion_skinning_future_rate + 1):
|
||||
if Global.current_frame < Global.canvases.size() - i:
|
||||
var layer_i := 0
|
||||
for layer in Global.canvases[Global.current_frame + i].layers:
|
||||
if Global.layers[layer_i][1]: # If it's visible
|
||||
color.a = 0.6 / i
|
||||
draw_texture(layer[1], location, color)
|
||||
layer_i += 1
|
||||
# Future
|
||||
if Global.onion_skinning_future_rate > 0:
|
||||
var color : Color
|
||||
if Global.onion_skinning_blue_red:
|
||||
color = Color.red
|
||||
else:
|
||||
color = Color.white
|
||||
for i in range(1, Global.onion_skinning_future_rate + 1):
|
||||
if Global.current_frame < Global.canvases.size() - i:
|
||||
var layer_i := 0
|
||||
for layer in Global.canvases[Global.current_frame + i].layers:
|
||||
if Global.layers[layer_i][1]: # If it's visible
|
||||
color.a = 0.6 / i
|
||||
draw_texture(layer[1], location, color)
|
||||
layer_i += 1
|
||||
|
||||
# Draw current frame layers
|
||||
for i in range(layers.size()):
|
||||
|
|
|
@ -111,10 +111,11 @@ var show_guides := true
|
|||
var show_animation_timeline := true
|
||||
|
||||
# Onion skinning options
|
||||
var onion_skinning := false
|
||||
# warning-ignore:unused_class_variable
|
||||
var onion_skinning_past_rate := 0
|
||||
var onion_skinning_past_rate := 1
|
||||
# warning-ignore:unused_class_variable
|
||||
var onion_skinning_future_rate := 0
|
||||
var onion_skinning_future_rate := 1
|
||||
# warning-ignore:unused_class_variable
|
||||
var onion_skinning_blue_red := false
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue