Краткий обзор синтаксиса скриптового языка программирования Lua.
Тем, кто уже имел дело с написанием кода на любом другом ЯП, будет достаточно просто.
Статья
15 20 507
28
Старенькая статья, однако.

-- Следующее выражение подобно конструкции a?b:c в C/js:
ans = aBoolValue and 'yes' or 'no' --> 'no'
Это не так, b и с порой обозначают действия.

А так статейка полезная.
1
>
thisIsGlobal = 5 -- Camel case is common.
>> Означает что-то вроде широко применяется Camel case - стиль идентификаторов когда все слова пишутся с заглавной буквы
Даже в исходном английском тексте ошибка.
Это lowerCamelCase, а не простой CamelCase
>> Корректный перевод:
>> --неопределенные переменные эквивалентны nil
Корректный перевод - нечто среднее между тем, как перевели вы и исходным критикуемым вами переводом.
"Неопределенные переменные возвращают nil"
Ваш перевод "Это не вызовет ошибку" - некорректен. Исходный перевод "Это не будет ошибкой" точнее вашего, ибо на самом-то деле там написано "Это не ошибка"
>> более менее понятно хотя статья походит больше на справку для уже немного знающих LUA
Для знающих Lua даже немного - она не нужна. Что там знать-то?
Это статья для хорошо знающих другие языки программирования, чтобы быстро въехать в Lua
1
thisIsGlobal = 5 -- без комментариев
в оригинале
thisIsGlobal = 5 -- Camel case is common.
Означает что-то вроде широко применяется Camel case - стиль идентификаторов когда все слова пишутся с заглавной буквы
-- Обнулённые переменные возвращают nil.
-- Это не будет ошибкой:
foo = anUnknownVariable -- Теперь foo = nil.
в оригинале
-- Undefined variables return nil.
-- This is not an error:
foo = anUnknownVariable -- Now foo = nil.
Корректный перевод:
--неопределенные переменные эквивалентны nil
--Это не вызовет ошибку (имеется в виду, что например в С/С++ была бы ошибка поскольку anUnknownVariable ранее не была определена)
Вышла новая версии бесплатного кросс-платформенного фреймворка для создания 2D игр.
Теперь ещё более кросс-платформенный! Не пропустите!
4 2 850
15
Андреич, Спасибо за помощь.
Блин я ваще офигел когда увидел как это работает. 3мб, 3! Думал, что-то не то. Какой-то гребаный тостер запускается. Ну потом мануал почитал, разобрался)
31
Ethernet:
Кто-нибудь может написать как запускать не перетаскивая папку на ярлык) Подкиньте батник, чтобы два раза кликать)
Если устанавливал с архива то в папке проекта создаёшь текстовый файл, в нём пишешь:
@ECHO OFF
start "" "C:\love2d\love" .
собственно C:\love2d\love - это путь к фреймворку у меня на ноуте... напишешь свой...
если устанавливал с экзешника по стандартному пути, то пишешь:
@ECHO OFF
start "" "%PROGRAMFILES%\LOVE\love" .
или
@ECHO OFF
start "" "%PROGRAMFILES(x86)%\LOVE\love" .
в зависимости от разрядности системы...
и да потом не забудь сменить разрешение у текстового файла на .bat ...
15
Кто-нибудь может написать как запускать не перетаскивая папку на ярлык) Подкиньте батник, чтобы два раза кликать)
Итак, первое, что нам нужно узнать - ООП в Lua НЕТ!
Но не отчаивайтесь: синтаксических сахар данного языка позволяет создать некое подобие функционалу ООП.
Для начала создадим обычную таблицу (базовый класс):
Base = {}
Теперь добавим в нашу таблицу поле field:
""
Base.field = "text"
""…
Подстатья
3 4 731
31
заметочка. не забыть дополнить статью информацией из официальной документации...
Проект, посвященный бесплатному, кроссплатформенному фреймворку с открытым исходным кодом для разработки 2D-игр
31 32 232
31
изменили название функций, вот и не нравится, ещё старые игры в новой версии не работают
ну это можно поправить...
просто в файле main.lua в самом начале добавляешь...
	love.graphics.newPixelEffect = love.graphics.newShader
	love.graphics.setPixelEffect = love.graphics.setShader
	love.graphics.getPixelEffect = love.graphics.getShader
	love.graphics.drawq = love.graphics.draw
	love.filesystem.enumerate = love.filesystem.getDirectoryItems
и старые названия функций заменятся на новые...
но если в игре было предусмотрено управления с джойстика, тогда придётся ещё дополнительно возиться в коде...
т.к. в 9 версии работу с джойстиками совсем по-другому сделали...