mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-04 09:15:15 +01:00
tunnel anim
This commit is contained in:
parent
44991cb99e
commit
ce4c89495b
8 changed files with 175 additions and 103 deletions
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 16:35:49
|
||||
// 2024-04-22 19:24:36
|
||||
function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Tunnel In";
|
||||
color = COLORS.node_blend_tunnel;
|
||||
|
@ -12,6 +12,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING)
|
||||
tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}";
|
||||
|
@ -172,6 +175,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
var node = PROJECT.nodeMap[? _k];
|
||||
if(node.group != group) continue;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
var tox = _x + node.x * _s;
|
||||
var toy = _y + node.y * _s;
|
||||
draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3);
|
||||
|
@ -203,23 +209,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 16:35:48
|
||||
// 2024-04-22 19:24:33
|
||||
function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Tunnel In";
|
||||
color = COLORS.node_blend_tunnel;
|
||||
|
@ -12,6 +12,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING)
|
||||
tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}";
|
||||
|
@ -172,6 +175,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
var node = PROJECT.nodeMap[? _k];
|
||||
if(node.group != group) continue;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
var tox = _x + node.x * _s;
|
||||
var toy = _y + node.y * _s;
|
||||
draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3);
|
||||
|
@ -203,23 +209,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 16:35:44
|
||||
// 2024-04-22 19:25:58
|
||||
function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Tunnel Out";
|
||||
color = COLORS.node_blend_tunnel;
|
||||
|
@ -12,6 +12,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN))
|
||||
tname = ds_map_find_first(TUNNELS_IN);
|
||||
|
@ -104,6 +107,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var node = TUNNELS_IN[? _key].node;
|
||||
if(node.group != group) return;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
draw_set_color(outputs[| 0].color_display);
|
||||
draw_set_alpha(0.5);
|
||||
|
||||
|
@ -137,23 +143,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 16:34:50
|
||||
// 2024-04-22 19:24:39
|
||||
function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||
name = "Tunnel Out";
|
||||
color = COLORS.node_blend_tunnel;
|
||||
|
@ -12,6 +12,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN))
|
||||
tname = ds_map_find_first(TUNNELS_IN);
|
||||
|
@ -93,7 +96,7 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var xx = _x + x * _s;
|
||||
var yy = _y + y * _s;
|
||||
|
||||
var hover = isHovering || active_draw_index;
|
||||
var hover = isHovering || hover_alpha == 1;
|
||||
var tun = findPanel("Panel_Tunnels");
|
||||
hover |= tun && tun.tunnel_hover == self;
|
||||
if(!hover) return;
|
||||
|
@ -104,6 +107,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var node = TUNNELS_IN[? _key].node;
|
||||
if(node.group != group) return;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
draw_set_color(outputs[| 0].color_display);
|
||||
draw_set_alpha(0.5);
|
||||
|
||||
|
@ -137,23 +143,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 18:42:00
|
||||
// 2024-04-22 19:15:18
|
||||
#region ---- global names ----
|
||||
global.junctionEndName = [ "Hold", "Loop", "Ping pong", "Wrap" ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// 2024-04-22 18:38:48
|
||||
// 2024-04-22 18:42:00
|
||||
#region ---- global names ----
|
||||
global.junctionEndName = [ "Hold", "Loop", "Ping pong", "Wrap" ];
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING)
|
||||
tname = $"tunnel{ds_map_size(TUNNELS_IN_MAP)}";
|
||||
|
@ -171,6 +174,9 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
var node = PROJECT.nodeMap[? _k];
|
||||
if(node.group != group) continue;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
var tox = _x + node.x * _s;
|
||||
var toy = _y + node.y * _s;
|
||||
draw_line_dotted(xx, yy, tox, toy, 2 * _s, current_time / 10, 3);
|
||||
|
@ -202,23 +208,29 @@ function Node_Tunnel_In(_x, _y, _group = noone) : Node(_x, _y, _group) construct
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", inputs[| 1].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
|
@ -11,6 +11,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
hover_scale_to = 0;
|
||||
hover_alpha = 0;
|
||||
|
||||
preview_connecting = false;
|
||||
preview_scale = 1;
|
||||
|
||||
var tname = "";
|
||||
if(!LOADING && !APPENDING && !ds_map_empty(TUNNELS_IN))
|
||||
tname = ds_map_find_first(TUNNELS_IN);
|
||||
|
@ -103,6 +106,9 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
var node = TUNNELS_IN[? _key].node;
|
||||
if(node.group != group) return;
|
||||
|
||||
preview_connecting = true;
|
||||
node.preview_connecting = true;
|
||||
|
||||
draw_set_color(outputs[| 0].color_display);
|
||||
draw_set_alpha(0.5);
|
||||
|
||||
|
@ -136,23 +142,29 @@ function Node_Tunnel_Out(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
|||
active_draw_index = -1;
|
||||
}
|
||||
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
#region draw arc
|
||||
var prev_s = preview_connecting? 1 + sin(current_time / 100) * 0.1 : 1;
|
||||
preview_scale = lerp_float(preview_scale, prev_s, 5);
|
||||
preview_connecting = false;
|
||||
|
||||
var _r = _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
shader_set(sh_node_arc);
|
||||
shader_set_color("color", outputs[| 0].color_display, hover_alpha);
|
||||
shader_set_f("angle", degtorad(-90));
|
||||
|
||||
var _r = preview_scale * _s * 20;
|
||||
shader_set_f("amount", 0.4, 0.5);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 30;
|
||||
shader_set_f("amount", 0.45, 0.525);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
var _r = preview_scale * _s * 40;
|
||||
shader_set_f("amount", 0.475, 0.55);
|
||||
draw_sprite_stretched(s_fx_pixel, 0, xx - _r, yy - _r, _r * 2, _r * 2);
|
||||
|
||||
shader_reset();
|
||||
#endregion
|
||||
|
||||
if(hover_scale > 0) {
|
||||
var _r = hover_scale * _s * 16;
|
||||
|
|
Loading…
Reference in a new issue