Fade Oda Geçişleri - barbarbar338 - Game Maker Turkiye

FADE ODA GEÇİŞ EFEKTİ


Bildiğiniz üzere çoğu oyunda farklı farklı haritalar ve o haritalar içerisinde farklı farklı odalar bulunmakta. Elbette bunların arasında katı bir geçiş kullananlar da var anca hepimiz şunun farkındayız ki herkes görüntü olarak daha yumuşak ve daha kaliteli içerikleri sever. İşte tam da burada Fade efekti işin içine giriyor! Size fade efektini kısaca şu şekilde gösterebilirim:

fade-effect

Evet gerçekten hoş bir görüntü! Şimdi sıra bunu nasıl yaptığımızda!


fade_to_room Scripti ve fade Objecti:

Bu sistem için bizlere fade_to_room scripti ve o_fade objesi gerekmektedir.

fade_to_room: 

/// @descr fade_to_room(target_room, target_x, target_y, colour);
/// @args target_room
/// @args target_x
/// @args target_y
/// @args colour

var _fade = instance_create_layer(xy, "Fade", o_fade);
with(_fade) {
    target_rm = argument0;
    target_x = argument1;
    target_y = argument2;
    col = argument3;
}

o_fade create:

// player spawn variableleri
target_rm = noone;
target_x = 0;
target_y = 0;

// fade variableleri
col = c_black
fade_spd = .03;
alpha = 0;
fade_to_colour = true;

o_fade Draw GUI:

// ölçüleri alma
var dw = display_get_gui_width();
var dh = display_get_gui_height();

// fade in efekti
if fade_to_colour {
    alpha += fade_spd;
    draw_set_alpha(alpha);
    draw_rectangle_color(0, 0, dw, dh, col, col, col, col, false);
    if alpha >= 1 {
        fade_to_colour = false;
        with(o_player) {
            // player için başlangıç pozisyonu
            room_start_pos_x = other.target_x;
            room_start_pos_y
= other.target_y;
            
x = room_start_pos_x;
            
y = room_start_pos_y;
        }
        room_goto(
target_rm);
    }
} else {

    // fade out efekti
    alpha -= fade_spd;
    draw_set_alpha(alpha);
    draw_rectangle_color(
0, 0, dw, dh, col, col, col, col, false);
    if alpha <= 0 {
        instance_destroy();
    }
}

draw_set_alpha(1);


Kullanım: 

Kodunuzda fade_to_room(target_rm, target_x, target_y, col);  kullanarak bu fade efektini kullanabilirsiniz. Mesela biz "a" odasındayız ve "b" odasındaki "x: 174, y: 34" konumuna gitmek istiyoruz. O halde bu scripti oyunumuzda fade_to_room(b,  174,  34,  c_black); olarak kullanmamız gerekecektir.

Ancak şunu unutmayın, tüm odalarınızda "fade" adında bir "Instance Layer" oluşturmanız ve bu layeri diğer bütün layerlerin üzerine koymanız gerekmetedir. 


Sorularınız için Discord sunucumuza gelmeyi unutmayın!

Barış Demirci tarafından özenle sizler için hazırlanmıştır.

Ayırdığınız zaman için teşekkürler!

Benzer İçerikler :