Перейти к содержимому

Arseniy10

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

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

  • Посещение

  • Победитель дней

    2

Сообщения, опубликованные пользователем Arseniy10


  1. У тебя не экран не очищается, а не обрабатывается корректно событие "touch". Дай ссылку на полный код и опиши чего делаешь и что хочешь получить

    Да я уже понял, при нажатии на любое место такое происходит. Ибо событие произошло, а то, что было задано, не случилось. Проще говоря, рукожоп я (рифма).


  2. Не совсем понял про координаты по которым идет перебор,  зачем тут десятые? "пиксели" в OpenOS это же просто символы, значит 3 пиксель в 5 строке - это 3 символ в 5 строке и не более, зачем десятые? Плюс в переборе иксовых координат 3 значения? зачем?

     

    Я решаю работу с "кнопками" так:

     

    local e = {event.pull("touch")}
          if e[4] == игрик координата кнопки then --так как там текст, то думаю кнопка обычно в 1 строке
    	    if e[3]>начальная икс координата and e[3]<конечная икс координата then
    		--действия после нажатия
    	    end
          end
    

    Большая благодарность за кнопки! Но вопрос остался актуален.

    И на счет десятичных. Когда я проверял, что выдает каждая переменная (event.pull("touch")), то координаты "касаний" были десятичными (10.5, 30.7).


  3. Название красивое, а рассказывать особо нечего.

     

    1. Поставил OC 1.6 (на 1.7.10)

    2. И вижу, что при наборе pastebin или wget, система пишет: "Файл отсутствует".

     

    Что же делать?

     

    1. Теперь эти 2 программы не встроены в интернет-плату!

    2. Нужно скрафтить эти дискеты

           ИЛИ

    2. Скачать эти программы с Pastebin (скоро будут ссылки).

     

    P.S. Касания теперь считываются в виде десятичных дробей (10.5,12.7).


  4. И снова здравствуйте, теперь у меня не очищается экран командой "term.clear()"

    bC4srZa.jpg?1

     

    Из-за чего получаются непредвиденные рисовашки.

    Как исправить? 

     

    Часть кода:

    local com = require("component")
    local term = require("term")
    local event = require("event")
    local colors = require("colors")
    local gpu = com.gpu
    

    ...

    Touch,ScreenX,ScreenY,_,nick = event.pull("touch")
    

    ...

    if ScreenY>4 and 5<ScreenY then
        if ScreenX>31.5 and 48.5<ScreenX then
            gpu.setBackground(colors.brown,true)
            gpu.setForeground(colors.silver,true)
            term.clear()
        end
    end
    

     


  5. Хехе, хотел как лучше, скинул прогу в которой можно по изучать код, поучиться луа программированию. В итоге дизлайк за это получил  :lol:

     

    Да, очищать экран крайне не рекомендую слишком часто. В данном случае, и в случае той игры которую я скинул, рационально будет не очищать экран, а перерисовывать. Иначе может сильно нагружаться комп и он станет ужасно мерцать. Лучше просто в новом кадре обрабатывать изменения. Такие простые изменения можно проводить вручную, а вот если изменения очень сложные в новом кадре, то на помощь придёт библиотека тройной буферизации от ECS. (здесь могла бы быть ссылка на неё, но кто то дал понять что не хочет рекламы в своей теме, так что ищи эту библиотеку сам :blum2: )

    Искать библиотеку.

    Она на первом месте в подфоруме.

    Профит. Нашел!


  6. И так проблема вот в чем:

    Я сделал квадрат, который может двигаться.

    Он двигается, но оставляет за собой след.

    Вопрос: как от него избавиться?

     

    Первая картинка:

    GFak3.jpg

     

    Вторая картинка:

    7L9WA.jpg


  7. Я думал, ты под "программа будет обрастать различной фигней" ты будешь делать набор всякой полезной математики. Вот и все.

    Не, ну это можно, но планирую сделать конвертацию во все градусные "единицы измерения", но спасибо за идею.

    Факториал прикрутил!


  8. И так! Спустя целый год! Я вернулся с обновленной программой.

    Она может переводить Цельсий в Фаренгейт и обратно.

     

     

    Скачать:

    pastebin get J1i6CU8w [Желаемое название]
    Осталось:

    Прикрутить графический интерфейс без либы.

    Запилить перевод в другие градусные единицы.

     

    Обновления:

     

    #26.06.2016#

    Программа теперь циклична.

    Обновлена справка.

    Добавлен факториал!

     

     

    #25.06.2016#

    Появилась справка.

    Теперь на OC!

    Может переводить в обратную сторону.

    Появился выбор.

     

     

     

    Прошу Администратора или Модератора удалить эту тему (ибо я не имею полномочий).


  9. Переписал за пару секунд для OpenComputers:

    http://pastebin.com/xGDaQtbg

    Учил уроки от 1Ridav, так пока только Computercraft.

    Хоть прога и с ошибкой, но для первого раза уже хорошо! (С той точки зрения, что есть write и read)

    Ошибка в том, что ответ и строчка ввода на 1 строке?


  10. Действительно простая. А ведь можно еще проще

    write("Enter fahrengeit: ")write("Turned: " .. (read() - 32) * 5 / 9)
    Да, и не забывай про скобки

    Спасибо за совет!

    Как-то странно, если в моей программе ввести 80 фаренгейт, то выйдет 22.4, а в твоей 26.666666

    У тебя деление и умножение местами перепутано, по ходу...


  11. Это моя первая программа.Но все же, я решил её выложить. Она только для Computercraft!

    pastebin get wNh0rEX8 [любое название]

    Простая, не правда ли?

    Всего 5 строчек.

    Осторожно! Программа малополезна.

    Ждите апдейта.

×
×
  • Создать...