Size: a a a

Solar2D (Corona SDK) Game Engine

2021 June 18

A

Aleksandt in Solar2D (Corona SDK) Game Engine
В твоём случае поможет агрегация через группы.

https://docs.coronalabs.com/guide/graphics/group.html
источник

BC

Boris Call The Polic... in Solar2D (Corona SDK) Game Engine
Спасибо, ребят!
источник

YK

Yan K in Solar2D (Corona SDK) Game Engine
Ребят, а кто-нибудь настраивал медиацию адмоб? Даёт ли это что-то ощутимое?
источник

BC

Boris Call The Polic... in Solar2D (Corona SDK) Game Engine
Коллеги, а вот еще вопрос. Есть "enum"

local brickColorEnum = {
   Green = 1,
   Yellow = 2,
   Red = 3,
   Blue = 4,
   Purple = 5,
}

Как взять рандомное значение из этого энама?
источник

D

Din 🐍 in Solar2D (Corona SDK) Game Engine
local function randomValueFromEnum(enum)
 local list = {}
 
for k, v in pairs(enum) do
   table.insert(list, v)
end

 return list[math.random(1, #list)
end
источник

BC

Boris Call The Polic... in Solar2D (Corona SDK) Game Engine
Звучит несложно. Спасибо.
источник

LG

Leonid Ganin in Solar2D (Corona SDK) Game Engine
А зачем так усложнять?

local function randomValueFromEnum(enum)
   return enum[math.random(1, #enum)]
end

Так разве не будет лучше?
Или я что-то не знаю?
источник

D

Din 🐍 in Solar2D (Corona SDK) Game Engine
# же не работает для хеш таблиц
источник

LG

Leonid Ganin in Solar2D (Corona SDK) Game Engine
А стоп, да
источник

LG

Leonid Ganin in Solar2D (Corona SDK) Game Engine
Тупанул
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
Зачем тебе такой енум? Переменные енума где-то в коде используешь?
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
Чтобы постоянно не создавать массив из перечисления, сделай это один раз и используй  его когда хочешь получить случайное значение
источник

V

Vulpes in Solar2D (Corona SDK) Game Engine
Я делаю так :)
function enum(...)
   local tmp = {};
   for k, v in pairs({...}) do
       tmp[v] = k;
   end
   return tmp;
end

event = enum(
 "wait",
 "run",
 "walk",
 "die",
 "dance"
);
event_state = event.dance;

Как по мне вполне удобно. Я правда не использую это без своего switch )
источник

D

Denis in Solar2D (Corona SDK) Game Engine
Ещё не нашёл ответ?
источник

BC

Boris Call The Polic... in Solar2D (Corona SDK) Game Engine
Я планирую создавать объект определённого цвета в зависимости от значения энама. Вот. А значение просто рандомное.
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
local Color = {}


Color.RASPBERRY = 1
Color.GRAPE = 2
Color.BANANA = 3
Color.CHERRY = 4
Color.PINEAPPLE = 5
Color.BLUEBERRY = 6
Color.WATERMELON = 7


Color.ALL = {
   Color.RASPBERRY,
   Color.GRAPE,
   Color.BANANA,
   Color.CHERRY,
   Color.PINEAPPLE,
   Color.BLUEBERRY,
   Color.WATERMELON
}


return Color
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
colorNumber = math.random(1, Options.COLOR_COUNT)
источник

BC

Boris Call The Polic... in Solar2D (Corona SDK) Game Engine
Вот это выглядит прям оптимальным путём. Спасибо.
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
Options.COLOR_COUNT = #Color.ALL
источник

A

Aleksandt in Solar2D (Corona SDK) Game Engine
чтобы каждый раз не пересчитывать количество объектов в перечислении, ибо оператор # каждый вызов итеративно пробегается по массиву до элемента nil
источник