Небольшие полезные скрипты для GameMaker: Studio

Скачать в Marketplace (бесплатно)

Список:

  • Одномерные массивы
    • array_create(value, …)
    • array_create_from_string(separator, is_real, string)
    • array_to_string(separator, pure, array)
    • array_sort(array, ascend, change_source)
  • Конвертирование
    • convert_dec_to_hex(value, [digits])
    • convert_hex_to_dec(value)
    • convert_dec_to_bin(value, [digits])
    • convert_bin_to_dec(value)
    • convert_range(from_range, to_range, pos)
    • convert_gm_color_to_hex(color)
  • Отладка / Строки
    • log(val[, val2, val3…])
    • string_build(val[, val2, val3…])
    • string_build_comma(val[, val2, val3…])
  • Разное
    • draw_set_colour_reverse(colour)

 

Одномерные массивы

array_create(value, …)

Создание массива (не более 16 элементов)

res = array_create(10, 20, 30)      -> res[0] = 10, res[1] = 20, res[2] = 30
res = array_create("A", "B", "C")   -> res[0] = "A", res[1] = "B", res[2] = "C"

 

array_create_from_string(separator, is_real, string)

Создание массива из строки

res = array_create_from_string(",", false, "10,20,30")  -> res[0] = "10", res[1] = "20", res[1] = "30"
res = array_create_from_string(",", true, "10,20,30")   -> res[0] = 10, res[1] = 20, res[1] = 30
res = array_create_from_string(";", false, "A;B;C")     -> res[0] = "A", res[1] = "B", res[1] = "C"

 

array_to_string(separator, pure, array)

Преобразование массива в строку

data[0] = "Array";
data[1] = "To";
data[2] = "String";

array_to_string(";", true, data)   -> "Array;To;String"
array_to_string(";", false, data)  -> "{ Array; To; String }"
array_to_string(",", false, data)  -> "{ Array, To, String }"

 

array_sort(array, ascend, change_source)

Сортировка массива

 

Конвертирование

convert_dec_to_hex(value, [digits])

Получение шестнадцатеричного представления числа

 convert_dec_to_hex(123456, 6)   -> "01E240"
 convert_dec_to_hex($ff00ff, 8)  -> "00FF00FF"

 

convert_hex_to_dec(value)

Получение десятичного числа из шестнадцатеричного представления

convert_hex_to_dec("1E240")   -> 123456
convert_hex_to_dec("FF00FF")  -> 16711935

 

convert_dec_to_bin(value, [digits])

Получение двоичного представления числа

convert_dec_to_bin(4504)   -> "1000110011000"
convert_dec_to_bin(65535)  -> "1111111111111111"

 

convert_bin_to_dec(value)

Получение десятичного числа из двоичного представления

convert_bin_to_dec("1000110011000")     -> 4504
convert_bin_to_dec("1111111111111111")  -> 65535

 

convert_range(from_range, to_range, pos)

Преобразование числа из одного диапазона в другой диапазон

convert_range(1000, 1, 500) -> 0.5 (из 0..1000 в 0..1)

 

convert_gm_color_to_hex(color)

Получение шестнадцатеричного представления вида RRGGBB из цвета GMS (BBGGRR)

convert_gm_color_to_hex(c_red)    -> "FF0000"
convert_gm_color_to_hex(c_green)  -> "008000"
convert_gm_color_to_hex(c_blue)   -> "0000FF"
convert_gm_color_to_hex($0000ff)  -> "FF0000"

 

Отладка / строки

log(val[, val2, val3…])

Печать данных в отладочную консоль (то есть, в compile form).

log("Width: ", 10, ", Height: ", 20)                   -> "Width: 10, Height: 20"
log("View x: ", view_xview[0], ", y: ", view_yview[0]) -> "View x: 0, y: 0"

 

string_build(val[, val2, val3…])

Объединение данных в строку

string_build("Count: ", 100)                  -> "Count: 100"
string_build("Count: ", 100, ", index: ", 5)  -> "Count: 100, index: 5"

 

string_build_comma(val[, val2, val3…])

Объединение данных в строку с перечислением их через запятую

string_build_comma(100, 10, 25, 30)                         -> "100, 10, 25, 30"
"View: " + string_build_comma(view_xview[0], view_yview[0]) -> "View: 0, 0"

 

Разное

draw_set_colour_reverse(colour)

Задать цвет рисования, используя нормальное RRGGBB (то есть, не перевёрнутое) значение

draw_set_colour_reverse($ff0000)  -> то же самое, что with draw_set_colour($0000ff) // c_red
draw_set_colour_reverse($00ff00)  -> draw_set_colour($00ff00) // c_lime
draw_set_colour_reverse($0000ff)  -> draw_set_colour($ff0000) // c_blue

 

Leave a Reply

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.