Added an option to save animations as a single column spritesheet
This commit is contained in:
parent
829ea55724
commit
bd4bce74ef
|
@ -90,7 +90,9 @@ func _on_Export_pressed():
|
|||
var begin : float = value_begin.value
|
||||
var end : float = value_end.value
|
||||
var images : int = value_images.value
|
||||
var spritesheet_lines : int = value_spritesheet.get_item_id(value_spritesheet.selected)
|
||||
var spritesheet_lines : int = value_spritesheet.get_item_id(value_spritesheet.selected)
|
||||
if spritesheet_lines > 500:
|
||||
spritesheet_lines = 1000-spritesheet_lines
|
||||
var spritesheet_columns : int
|
||||
var renderer = mm_renderer.request(self)
|
||||
while renderer is GDScriptFunctionState:
|
||||
|
@ -99,8 +101,12 @@ func _on_Export_pressed():
|
|||
image_anim.material.set_shader_param("end", begin)
|
||||
var spritesheet : Image
|
||||
var filename_fmt
|
||||
if spritesheet_lines > 0:
|
||||
spritesheet_columns = (images-1)/spritesheet_lines+1
|
||||
if spritesheet_lines != 0:
|
||||
if spritesheet_lines > 0:
|
||||
spritesheet_columns = (images-1)/spritesheet_lines+1
|
||||
else:
|
||||
spritesheet_columns = -spritesheet_lines
|
||||
spritesheet_lines = (images-1)/spritesheet_columns+1
|
||||
spritesheet = Image.new()
|
||||
spritesheet.create(size * spritesheet_columns, size * spritesheet_lines, false, Image.FORMAT_RGBA8)
|
||||
else:
|
||||
|
@ -131,3 +137,7 @@ func _on_Export_pressed():
|
|||
spritesheet.save_png(filename)
|
||||
image_anim.material.set_shader_param("begin", begin)
|
||||
image_anim.material.set_shader_param("end", end)
|
||||
|
||||
|
||||
func _on_VBox_minimum_size_changed():
|
||||
rect_size = $VBox.rect_size+Vector2(4, 4)
|
||||
|
|
|
@ -211,7 +211,7 @@ margin_left = 550.0
|
|||
margin_right = 638.0
|
||||
margin_bottom = 24.0
|
||||
text = "PNG files"
|
||||
items = [ "PNG files", null, false, 0, null, "1 line spritesheet", null, false, 1, null, "2 lines spritesheet", null, false, 2, null, "4 lines spritesheet", null, false, 4, null ]
|
||||
items = [ "PNG files", null, false, 0, null, "1 line spritesheet", null, false, 1, null, "2 lines spritesheet", null, false, 2, null, "4 lines spritesheet", null, false, 4, null, "1 column spritesheet", null, false, 1001, null ]
|
||||
selected = 0
|
||||
|
||||
[node name="Images" type="MarginContainer" parent="VBox"]
|
||||
|
@ -313,6 +313,7 @@ rect_min_size = Vector2( 80, 0 )
|
|||
text = "Close"
|
||||
|
||||
[connection signal="popup_hide" from="." to="." method="queue_free"]
|
||||
[connection signal="minimum_size_changed" from="VBox" to="." method="_on_VBox_minimum_size_changed"]
|
||||
[connection signal="value_changed" from="VBox/Settings/Begin" to="." method="_on_Begin_value_changed"]
|
||||
[connection signal="value_changed" from="VBox/Settings/End" to="." method="_on_End_value_changed"]
|
||||
[connection signal="timeout" from="VBox/Images/HBox/Animated/Timer" to="." method="_on_Timer_timeout"]
|
||||
|
|
Loading…
Reference in New Issue