Перейти к публикации
Форум - ComputerCraft

Ktlo

Пользователи
  • Публикации

    96
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    9

Последний раз Ktlo выиграл 24 сентября 2016

Публикации Ktlo были самыми популярными!

Репутация

786 Очень хороший

5 подписчиков

Информация

  • Пол
    Мужчина

Посетители профиля

378 просмотров профиля
  1. Если знаешь Инглишь то стоит пройти по этим ссылкам: [1], [2]. Там по первой ссылке будет документация по функциям для работы с видеокартой, а по второй для работы с событиями такими как нажатие по экрану. Код твой будет выглядеть в итоге примерно так (если не вдаваться в удобное в данном случае ООП): local event = require("event") local gpu = require("component").gpu --Рисуем кнопку например gpu.setBackground(color) gpu.fill(x, y, w, h, " ") while true do local e = event.pull() if e[1] == 'touch' then if e[3] >= x and e[3] < w + w and e[4] >= y and e[4] < y + h then --Наша кнопка для примера нажата, далее твои действия end end end А ещё, возможно лучшее решение, использовать готовые библиотеки для графического интерфейса с форума: [1], [2], [3].
  2. Первый вариант: local event = require "event" function event.shouldInterrupt() return false end При последующей работе библиотеки event программа не будет прерываться при этом сочетании клавиш. Второй вариант: Не использовать библиотеку event вообще. Вместо этого получать события так: local computer = require "computer" while true do local e = computer.pullSignal() -- Далее обработка события end
  3. Ktlo

    Метатаблицы, Lua

    В Lua 5.3 его добавили. До этого такого не было.
  4. Ktlo

    Метатаблицы, Lua

    Тема обновлена Добавлены математический метаметод __idiv() и метаметоды для битовых операторов.
  5. Подсел на аниме

  6. Ktlo

    Игровой клуб "HI"

    У меня на сервере мясном тоже так было, я исправил проблему внутри программы и перестало лагать. Код такого типа может жрать системные ресурсы, несмотря на всякие ограничения: repeat rcall(error, "Ошибка!", 0) until false
  7. Ktlo

    Игровой клуб "HI"

    Ну теперь ясно, из-за чего лаги начались. Надо в программе ошибки исправить, и от pcall() избавляться. У меня однажды была подобная проблема. Нужно каждую из игр и прог, что там запущены протестировать на создание ошибок и убрать их на совсем, или пока ошибку автор не исправит.
  8. Функция rednet.receive() сама ждёт, пока не получит сообщение. Но, чтобы при этом анимацию загрузки делать с использованием реднет, одним потоком не обойтись. Нужно использовать функцию parallel.waitForAny(). function wait() -- Функция отрисовки экрана загрузки while true do ... slepp(1) -- Это важно! end end parallel.waitForAny(wait, function() id, message = rednet.receive() end) Вот как-то так. А чего нельзя? Кто-то запрещает?
  9. Алгоритм бы ваш увидеть, а то так ничего не понятно. Мы же не клуб начинающих оракулов.
  10. А я говорил что-то против? Я просто имел в виду, что Lua не использует названия локальных переменных для доступа к их значениям. Следовательно даже никакого v1 и v2 там нет.
  11. А где здесь ошибка? Компилируется язык не до машинного кода (с Lua такое не возможно), а до байт кода. Называется это JIT-компиляция. Да что я тут распинаюсь, даже на Википедии об этом сказано.
  12. Вы не веруете в Lua байт код? На сомом деле Lua - компилируемый язык, который компилируется каждый раз перед исполнением программы, далее Lua интерпретирует его. Также он может запускать уже готовый байт код (но в OC это надо включить в конфигах). Это всё избавляет от необходимости использовать имена переменных для исполнения самого кода.
×