Top.Mail.Ru
Ответы

Проблемы с кодом в game maker studio 2

function draw_player()
{
if (global.palettetexture = -4)
{
pal_swap_set(spr_pavel_pal,paletteselect,false)
draw_self()
pal_swap_reset()
}
else
{
// Применяем шейдер
shader_set(shd_replace_with_sprite);

// Получаем ID текстуры из спрайта
var sprite_texture = sprite_get_texture(spr_paltexture, 0); // Получаем текстуру

// Получаем униформы
var texture_uniform = shader_get_uniform(shd_replace_with_sprite, "altTexture");
var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");

// Устанавливаем текстуру в шейдер
shader_set_uniform_i(texture_uniform, sprite_texture); // Передаем текстуру

// Устанавливаем масштаб узора
shader_set_uniform_f(texture_scale, 16);

// Рисуем объект
draw_self();

// Сброс шейдера
shader_reset();
}
}
при выполнении кода ошибка
Entering main loop.
**********************************.
ERROR!!! :: ############################################################################################
ERROR in action number 1
of Draw Event for object obj_drawcontroller:
shader_set_uniform_i argument 2 incorrect type (ptr) expecting a Number (YYGR)
at gml_Script_draw_player (line 22) - shader_set_uniform_i(texture_uniform, sprite_texture); // Передаем текстуру
############################################################################################
gml_Script_draw_player (line 22)
gml_Object_obj_drawcontroller_Draw_0 (line 5) - draw_player()

По дате
По рейтингу
Аватар пользователя
8мес
1
 function draw_player()  
1
 {  
1
     if (global.palettetexture == -4)  
1
     {  
1
         pal_swap_set(spr_pavel_pal, paletteselect, false);  
1
         draw_self();  
1
         pal_swap_reset();  
1
     }  
1
     else  
1
     {  
1
         // Применяем шейдер  
1
         shader_set(shd_replace_with_sprite);  
1
         // Получаем ID текстуры из спрайта  
1
         var sprite_texture = sprite_get_texture(spr_paltexture, 0); // Получаем текстуру  
1
         // Проверяем, что текстура действительна  
1
         if (sprite_exists(spr_paltexture) && sprite_texture != -1)  
1
         { 
1
             // Получаем униформы  
1
             var texture_uniform = shader_get_uniform(shd_replace_with_sprite, "altTexture");  
1
             var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");  
1
             // Устанавливаем текстуру в шейдер  
1
             shader_set_uniform_i(texture_uniform, sprite_texture);  // Передаем текстуру  
1
             // Устанавливаем масштаб узора  
1
             shader_set_uniform_f(texture_scale, 16);   
1
             // Рисуем объект  
1
             draw_self();  
1
         } 
1
         else  
1
         { 
1
             // Логгируем ошибку или обрабатываем случай, когда текстура недоступна 
1
             show_error("Invalid sprite or texture not found!", true); 
1
         } 
1
         // Сброс шейдера  
1
         shader_reset();  
1
     }  
12
 }
 
Аватар пользователя
Оракул
8мес
123456789101112131415161718192021222324252627282930313233
 function draw_player()  
{  
    if (global.palettetexture = -4)  
    {  
        pal_swap_set(spr_pavel_pal, paletteselect, false)  
        draw_self()  
        pal_swap_reset()  
    }  
    else  
    {  
        // Применяем шейдер  
        shader_set(shd_replace_with_sprite);  
 
        // Получаем ID текстуры из спрайта  
        var sprite_texture = sprite_get_texture(spr_paltexture, 0); 
 
        // Получаем униформы  
        var texture_uniform = shader_get_sampler_index(shd_replace_with_sprite, "altTexture"); 
        var texture_scale = shader_get_uniform(shd_replace_with_sprite, "patternScale");  
 
        // Устанавливаем текстуру в шейдер  
        texture_set_stage(texture_uniform, sprite_texture); 
 
        // Устанавливаем масштаб узора  
        shader_set_uniform_f(texture_scale, 16);   
 
        // Рисуем объект  
        draw_self();  
 
        // Сброс шейдера  
        shader_reset();  
    }  
}