jkeks блог


Что это и зачем ? spr(1+t%60//30*2,x,y,14,3,0,0,2,2)

6.3.2019 - 693 просмотрa ;)




spr(1+t%60//30*2,x,y,14,3,0,0,2,2) — это функция spr написанная в языке LUA для виртуальной приставки tic80.
Виртуальная игровая приставка — это как бы приставка которой нет в виде железа и микросхем, она где-то в интернете.

Комуинтересно почитаете, мне очень инетресно, кстати есть другие похожие, и tic80 взята по подобию PICO-8.

Дак вот, дорогие Вебмастера..
функция spr — рисует спрайт на экране (если так можно выразиться).

Если с x,y и 14,3,0,0,2,2 еще можно разобраться почистав документацию, то дружелюбный Вебмастер, как правило отваливается на формуле

1+t%60//30*2

А так как математику вы в школе учили тяп ляп и думаете что : — это РАЗДЕЛИТЬ, то изучая исходный код дефолтной игры, непременно выворачивается весь мозг в попытках осознать своою ничтожность.

А данная строка делает всего лишь то что совершает анимацию спрайта

Это всего лишь 2 кадра.

В результате этого нехитрого математического изыскания на LUA, результатом должо быть значение 1 а потом 3, через каждые пол секунды.

Итак, 1+ означает что минимум будет 1

t%60 — остаток от деления на 60, далее в коде идет инкремент t=t+1 (в результате цифры бегут от 1 до 60)

Далее идет ценочисленное деление на 30 (в результате мы видим то 0, то 1)

И в результате *2 мы получаем то 0 то 2.

Если учесть +1 в начеле то результатом будет то 1, то 3, каждый пол секунды.
А 1 и 3 это есть номер спрайта, или даже адрес в памяти нашего спрайта. Именно поэтому анимация спрайта происходит безукоризненно и в 1 строку, занимая при этом минимум памяти.

Если же подходить по серьезному, то нам потребовалось бы создать 2 переменные, и строк кода было бы больше, появились бы условия, лишние проверки. А тут математический кувырок, и все ! Мужик — моргает !

Ну и вот какие игрули делают на этой приставке, https://tic.computer/play?cart=188





Видеочат рулетка
jAntivirus Рейтинг@Mail.ru