51 lines
2.0 KiB
GDScript
51 lines
2.0 KiB
GDScript
extends Node2D
|
|
const EFFECT := preload("res://scripts/game/enemy_destruction_effect.gd")
|
|
const SHIPS := preload("res://scripts/items/alien_ship_catalog.gd")
|
|
|
|
func _ready() -> void:
|
|
RenderingServer.set_default_clear_color(Color("070e1c"))
|
|
get_window().size = Vector2i(1280,900)
|
|
get_window().content_scale_size = Vector2i(1280,900)
|
|
var rng := RandomNumberGenerator.new()
|
|
rng.seed = 18
|
|
for index in 250:
|
|
var star := Polygon2D.new()
|
|
star.polygon = PackedVector2Array([Vector2(-0.6,0),Vector2(0,-0.6),Vector2(0.6,0),Vector2(0,0.6)])
|
|
star.position = Vector2(rng.randf()*1280,rng.randf()*900)
|
|
star.color = Color(0.65,0.8,1,rng.randf_range(0.1,0.5))
|
|
add_child(star)
|
|
label_at("ROZERWANIE KADŁUBA / EKSPLOZJE WROGÓW",Vector2(35,20),22)
|
|
for tier in 3:
|
|
label_at(["ZWYKŁY STATEK","ELITA","BOSS"][tier],Vector2(100+tier*410,75),16)
|
|
for row in 3:
|
|
var sprite := Sprite2D.new()
|
|
sprite.texture = SHIPS.TEXTURES[tier*4]
|
|
sprite.scale = Vector2.ONE * [56.0,68.0,112.0][tier] / maxf(sprite.texture.get_width(),sprite.texture.get_height())
|
|
sprite.position = Vector2(210+tier*410,215+row*245)
|
|
add_child(sprite)
|
|
var effect := Node2D.new()
|
|
effect.set_script(EFFECT)
|
|
effect.play_audio = false
|
|
effect.configure(sprite,Vector2.ZERO,tier)
|
|
add_child(effect)
|
|
effect.set_process(false)
|
|
effect._elapsed = [0.07,0.3,0.9][row]
|
|
effect._update_fireballs()
|
|
effect.queue_redraw()
|
|
sprite.queue_free()
|
|
label_at(["Błysk · 0,07 s","Fala i ogień · 0,30 s","Odłamki · 0,90 s"][row],Vector2(110+tier*410,320+row*245),13)
|
|
if "--capture" in OS.get_cmdline_user_args():
|
|
await get_tree().process_frame
|
|
await RenderingServer.frame_post_draw
|
|
get_viewport().get_texture().get_image().save_png("res://artifacts/enemy_explosion_preview.png")
|
|
print("EXPLOSION_PREVIEW_CAPTURED")
|
|
get_tree().quit()
|
|
|
|
func label_at(value: String, origin: Vector2, font_size: int) -> void:
|
|
var label := Label.new()
|
|
label.text = value
|
|
label.position = origin
|
|
label.add_theme_font_size_override("font_size",font_size)
|
|
label.modulate = Color("a8becf")
|
|
add_child(label)
|