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

Ошибка в коде game maker

Ангелос Мавропуло Ученик (124), открыт 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_id = sprite_get_texture(spr_paltexture, 0); // Получаем ID текстуры из спрайта

// Устанавливаем текстуру в шейдер
texture_set(sprite_texture_id, 0); // Устанавливаем текстуру для первого слота (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, 0); // 0 — это индекс текстуры, который мы установили с помощью texture_set()

// Устанавливаем масштаб узора
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()
1 ответ
Дмитрий Солов Ученик (156) 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_id = sprite_get_texture(spr_paltexture, 0); // Получаем ID текстуры из спрайта

// Устанавливаем текстуру в шейдер
texture_set(sprite_texture_id, 0); // Устанавливаем текстуру для первого слота (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, 0); // 0 — это индекс текстуры, который мы установили с помощью texture_set()

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

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

// Сброс шейдера
shader_reset();
}
}
но вместо желаемого результата я получаю
Entering main loop.
**********************************.
############################################################################################
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()
Попробуй теперь
Ангелос МавропулоУченик (124) 2 недели назад
черт я не тот код засунул это старый, щас новый вопрос сделаю
Похожие вопросы