Size: a a a

2019 December 10

S

Snusmumriken in pro.lua
Кто-то куда-то кликнул — изменилось состояние (выпал список, например), пришло время перестраивать хтмл-свг.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
А, всё она же.

Кароч, для нормальных штук придётся делать свой DOM.
То есть ты такой делаешь состояние экрана, кучу разных элементов, у которых своё состояние, и по состоянию каждой фигульки строишь хтмл-свг.
ну я как то так и представляю, а более конкретно как лучше сделать, да и вообще как должно быть, совершенно не понимаю
источник

S

Snusmumriken in pro.lua
Кто-то крутанул колесо мыши (прокрутил список) — передвинули курсор списка, выбрали новые видимые объекты, перестроили хтмл-свг.
источник

S

Snusmumriken in pro.lua
Дерево элементов обыкновенное.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
Дерево элементов обыкновенное.
есть правильный вопрос, что у гугла спрашивать?
источник

S

Snusmumriken in pro.lua
local tree = {
 id = "0",
 list = newList(id = "1", ...),
 button1 = newButton(id = "2", ...)
}

function tree:find(id, tree)
 for i, v in ipairs(self) do
   -- элементы имеют аналогичный метод
   local res = v.id == id and v or v:find(id)
   if res then return res end
 end
end

function tree:render()
 local xml = '<bla id="' .. self.id .. '">'
 for i, v in ipairs(self) do
   -- элементы имеют аналогичный метод
   xml = xml .. v:render()
 end
return xml .. '</bla>'
end
источник

S

Snusmumriken in pro.lua
У гугла можешь спросить рекурсивные функции.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
У гугла можешь спросить рекурсивные функции.
эх. думал есть что-то типа как сделать UI =)
источник

S

Snusmumriken in pro.lua
Ну у тебя есть хтмл и свг, надо сделать дом.
источник

IB

IMP BloodTS in pro.lua
Ты всю ночь радио писал?
источник

S

Snusmumriken in pro.lua
Monsieur Taishín
эх. думал есть что-то типа как сделать UI =)
Вот мы делаем дом. Там можно по кликнутому элементу получить айдишку?
источник

S

Snusmumriken in pro.lua
IMP BloodTS
Ты всю ночь радио писал?
Оптимизировал, искал способы не обосраться. Всё равно обосрался, но уже не настолько.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
Вот мы делаем дом. Там можно по кликнутому элементу получить айдишку?
чтобы  знать какой элемент кликнут, надо в этой таблице держать также их координаты?
источник

IB

IMP BloodTS in pro.lua
Snusmumriken
Оптимизировал, искал способы не обосраться. Всё равно обосрался, но уже не настолько.
Не слабо.🤔
Разве что всё равно лучше поспать
источник

S

Snusmumriken in pro.lua
IMP BloodTS
Ты всю ночь радио писал?
Оно уже не жрёт в таких количествах оперативу, хотя io-операций всё ещё много. Почти пол часа уже играет нон-стопом.
источник

S

Snusmumriken in pro.lua
Monsieur Taishín
чтобы  знать какой элемент кликнут, надо в этой таблице держать также их координаты?
Ну смотря какая там апи. Дай ссылку.
источник

S

Snusmumriken in pro.lua
Потому что если там есть просто "мышь была нажата и отжата" — придётся ещё рендерер делать, под что-то мало-мальски сложное ))
источник

S

Snusmumriken in pro.lua
И в этой таблице содержатся все основные параметры. Если у тебя абсолютное положение кнопок в хтмл — их координаты будут в таблице. Надо же на основе чего-то строить и перестраивать хтмл.
источник

MT

Monsieur Taishín in pro.lua
Snusmumriken
Потому что если там есть просто "мышь была нажата и отжата" — придётся ещё рендерер делать, под что-то мало-мальски сложное ))
к сожалению апи под нда. и нет в публичных местах. Вот работа с экраном:
 addContent(x,y,html) 
возвращает id этого контента (т.е. потом можно делать  
resetContent(id,html)  
deleteContent(id)
showContent(id, state)
moveContent(id,x,y)

По мышкам (они срабатывают только на эти эвенты, т.е. можно вызывать на этих эвентах функцию):
mouseDown(x,y) 
mouseUp(x,y)

и где-то скролл затерялся, как глобальный, но думаю, ну его. а все умещать в экран  или сделать пагинацию
источник

S

Snusmumriken in pro.lua
Колбеки есть?
Типа, игрок тыкнул мышкой на что-то, и что-то вызвалось.
Желательно с айдишкой.
источник