Задать вопрос
  • Что делать, если установил Кали и Виндовс в один раздел диска?

    @dj--alex
    В большинстве групп использование Kali linux считается признаком плохого тона либо неразборчивости.
    Попробуйте какую то другую ОС Линукс по возможности.
    Скорее всего и с установкой и переразбивкой на 2 ОС сложностей будет меньше
    Ответ написан
    Комментировать
  • Как в Lua корректно сохранить canvas в png напрямую?

    @dj--alex Автор вопроса
    Рабочий метод который мне подсказали в интернете!

    realfilename = sourcewrite(datatowrite, levelname) (тут просто получаю путь от своей функции.)
    imagedata = GAMEWINDOWCANVAS:newImageData()
    filedata = imagedata:encode( "png" )
    realfilename = realfilename .. ".png"
    if (ossys ~= "Android") then
    local filepng = io.open(realfilename, 'wb')
    if (filepng ~= nil) then
    filepng:write(filedata:getString()) -- <- this right here; now it's a string. этой важной конверсии не хватало.
    filepng:close()
    end
    else
    love.filesystem.write(realfilename, filedata) -- i have a feeling this won't work though, chief. :|
    end
    Ответ написан
    Комментировать
  • Как правильно работать с Canvas в Love2D?

    @dj--alex
    Canvas можно узнать что содержит сделав скриншот канваса.

    GAMEWINDOWCANVAS:newImageData():encode('png', realpath..levelname.. 'x2.png');
    подставляете имя своей функции вместо gamewindow. в какой то из версий love newImageData переименована учтите.

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

    пример как создать атлас.
    function create_atlas ()
    ATLAS = love.graphics.newCanvas(8192, basetexturesize) -- это создание пустой картинки для наполнения ее картой спрайтов.
    nonetexture="1empty.png";
    IMAGES = {};
    IMAGES[0]=objs[0+1][3]; -- у меня здесь обращение к таблице со списком ВСЕХ используемых картинок.
    for a0=1,170,1 do -- максимум временно 170 (6800 пикс), для 1 байтового режима - 256.
    IMAGES[a0]=objs[a0][3]; -- загружаем список имён из таблицы обьектов.
    end

    love.graphics.setCanvas(ATLAS)
    for i = 0, #IMAGES - 1 do
    local img = love.graphics.newImage("Textures/"..IMAGES[i + 1]);
    if (img==nil) then love.graphics.newImage("Textures/"..nonetexture); end;
    love.graphics.draw(img, i * basetexturesize)
    IMAGES[i + 1] = love.graphics.newQuad(i * basetexturesize, 0, basetexturesize, basetexturesize, 8192, basetexturesize)
    end
    love.graphics.setCanvas()
    end

    дальше можно просто рисовать тем массивом который сгенерировали в images
    GAMEWINDOWCANVAS = love.graphics.newCanvas(xxxx, yyyy) -- x,y, это создание пустой картинки для наполнения ее картой спрайтов.
    nonetexture="1empty.png";
    IMAGESX = {};
    love.graphics.setCanvas(GAMEWINDOWCANVAS);
    for yy=1,0+visual_mapsize_vertical,1 do -- этот цикл делает рендеринг, он же должен сделать активную копию карты. --5*editor+maximumvertical
    for xx=1,0+visual_mapsize_horizontal,1 do
    IMAGESX[object_to_rendering]=IMAGES[objectcodenow + 1];
    OBJECTPRINTNOW_IMAGESX=IMAGESX[object_to_rendering];
    postobjectX=xx*rozmiarznak;
    postobjectY=yy*rozmiarznak;
    love.graphics.draw(ATLAS,OBJECTPRINTNOW_IMAGESX,postobjectX, postobjectY,0,scaling,scaling);
    -- вот именно эта строчка выше и рисует всё что вы захотите на игровом поле.
    end;
    a=a+1;

    end;
    a=a+mapsize_horizontal-visual_mapsize_horizontal;
    end;
    end

    love.graphics.setCanvas() -- эта строчка возвращает рендерер в игровое поле. обязательная.

    пример не совсем правильный т.к. я не дошёл до того чтобы в 2-3 строки расположиь картинки
    я говорю у самого опыта пока мало.
    видеокарты не поддерживают ширину канвас более 8000 пикселей .если что.

    И ещё. Канвас надо формировать только если на поле что то меняется.
    Если игрок стоит на месте и не шевелится и его враги тоже - - его перерисовывать не надо.
    Ответ написан
    Комментировать
  • Можно что-то сделать, чтобы в Sublime работали сочетания клавиш на русской раскладке?

    @dj--alex
    Я закрыл программу переключил язык и запустил ещё раз. Важен именно выбранный язык при запуске. И тогда даже при кириллице будет работать CTRL-C CTRL-V. Не знаю может это только у меня так срабатывает но но на всякий случай решил поделится с сообществом.
    Ответ написан
    Комментировать
  • Я написал игру M2k на Lua - как добавить ее в VK?

    @dj--alex Автор вопроса
    Нашёл только одно единственное не полностью поддерживаемое и заброшенное расширение
    Love2d Web GL
    https://love2d.org/forums/viewtopic.php?f=5&t=8487%20.
    плеер ставится на сервер и к нему прикрепляется игра, предназначено для версии 0.9. У меня 0.10.2 я даже не стал пытатся.

    других вариантов найти не удалось.
    Ответ написан
    Комментировать
  • Как убрать надпись " Необходимо указать способ оплаты! " в Opencart3?

    @dj--alex Автор вопроса
    увы Не работает!
    Необходимо указать способ оплаты!

    я уже и удалял эти строки и комментиировал и друг пытался за меня это сделать
    ========
    РЕШЕНО!!!
    приходилось ковырятся в коде, сначала сам 2 недели ковырялся везде пытался найти хоть что то,т.к. код радикально отличается от PHP4 образца 2006 года из за MVC i OOP потому это было сложно.
    потом вопросы везде задавать начал мне конечно же предложили сразу плагин купить
    и хорошо что нашелся человек который дал его потестить - плагин для корзины конечно же не помог!!

    «Мено» -> «Модули / Расширения» и в выпадающем списке выбираем «Оплата».
    нужно не выключить все плагины как говорят некоторые инструкции и горе-советчики (видимо чтобы плагины лучше продавались)
    а ВКЛЮЧИТЬ ОДИН ПЛАГИН (стандартный!! не платный , не скачанный!) хотя бы. никто не сказал это.
    оказывается " оплата наличными " была нужна.. попросили какого то получателя . я ввёл "0" и зараюотало.
    Мало того чтобы плагин включился в отличие от нормальных программ в опенкарт после активации надо его ОТРЕДАКТИРОВАТЬ и выбрать статус включено (!) Это примерно как две кнопки включения на компьютере
    На одной написано Питание, а другая просто по приколу но без нее не работает.

    Кстати кэш надо тоже отключить для внесения изменений на сайт иначе можно забыть его обновить.
    Ответ написан
    Комментировать