Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Ангелос Мавропуло Ученик (121), открыт 1 неделю назад
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()
2 ответа
Sergio 2.1 Оракул (67269) 1 неделю назад
 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();
}
}
Ангелос МавропулоУченик (121) 1 неделю назад
лады он запускается, но теперь он как будто берет uv данные из файлов игры так как я вижу там иногда спрайты моей игры.
Перистое облако Профи (842) 1 неделю назад
 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); // Получаем текстуру  
         // Проверяем, что текстура действительна  
         if (sprite_exists(spr_paltexture) && sprite_texture != -1)  
         { 
             // Получаем униформы  
             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();  
         } 
         else  
         { 
             // Логгируем ошибку или обрабатываем случай, когда текстура недоступна 
             show_error("Invalid sprite or texture not found!", true); 
         } 
         // Сброс шейдера  
         shader_reset();  
     }  
 }
Похожие вопросы