Понедельник, 09 Декабря 2024, 09:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как делать автоматический перенос ячеек в инвентаре?
SkrininshotДата: Пятница, 07 Сентября 2018, 15:23 | Сообщение # 1
частый гость
Сейчас нет на сайте
Код

//global.maxItems - максимальное кол-во ячеек
//width - просто ширина в пикселях, дальше которой ячейкам нельзя спавниться, вместо чего они переносятся на следующий ряд
if global.showInv {
    for(i = 0; i<global.maxItems; i++){
  for (o = 0; o< width; o+=64){
   draw_sprite(sprBorder,0,o,((i*64) div width)*64)
  }
    }
}

Этот код я написал для переноса ячеек на следующий ряд (который ниже на 64 пиксела предыдущего) в случае, если нынешний ряд длиннее переменной width, но вместо переноса, ячейки всего ряда, вне зависимости от того, заканчиваются ли ячейки именно в этом ряду или нет, их просто разбрасывает вдоль всего ряда. Например, я указал global.maxItems = 12, width = 1024, значит, в одном ряду может находиться не более 16-ти ячеек длинной в 64 пикселя и по-сути должно быть 12 ячеек в ряд, без переноса, но вместо этого я имею один полный (длинной в 16 ячеек) ряд. Так же дела обстоят и с большим количеством ячеек, например, 20 - это один полный ряд и один длинной в 4 ячейки, но гейммейкер(да, да, он тут не при чем, я рукожоп) считает, что это два полных ряда. Кароче вы поняли


What is love
Baby don't hurt me
Don't hurt me
No more...


Сообщение отредактировал Skrininshot - Пятница, 07 Сентября 2018, 15:34
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг