Воскресенье, 22 Декабря 2024, 05:31

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [85]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [151]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Игры какого типа вы предпочитаете делать?
Всего ответов: 16686
Главная » Статьи » Создание игр

GameGuru. Маргание света

GameGuru. Моргание света
Первоначально соберите схему, добавив источник света, на который повесите скрипт, и игрока.
В скрипте очень важны первоначальные переменные
Код
local state = {}
local delay = {}
local init_delay = {}
local on = {}

Они отвечают за положение света, задержку и статус включения для моргания. Далее мы объявляем условия для положений:
Код
if state[e] == 'blinking' then
elseif state[e] == 'blinking-r' then
elseif state[e] == 'on' then
else
end

В последних двух случаях все просто,:
Код
elseif state[e] == 'on' then
  ShowLight(e)
  else
  HideLight(e)
  end

Ну а для однородного моргания света нам нужно проверить таймер и включен ли свет:
Код
if GetTimer(e) > delay[e] then
if on[e] == 0 then
  on[e] = 1
  ShowLight(e)
  else
  on[e] = 0
  HideLight(e)
  end
end

Ну и сама задержка будет выглядеть как таймер + базовое ожидание:
Код
delay[e] = GetTimer(e) + init_delay[e]

Аналогично для рандома:
Код
delay[e] = GetTimer(e) + math.random(100,1500)

Полный скрипт:
Код
local state = {}
local delay = {}
local init_delay = {}
local on = {}

function light2_init(e)
  state[e] = "blinking-r"
  delay[e] = 250
  init_delay[e] = delay[e]
  on[e] = 0
end

function light2_main(e)
  if state[e] == 'blinking' then
  -- blinking light
  if GetTimer(e) > delay[e] then
  if on[e] == 0 then
  on[e] = 1
  ShowLight(e)
  else
  on[e] = 0
  HideLight(e)
  end
  delay[e] = GetTimer(e) + init_delay[e]
  end
  elseif state[e] == 'blinking-r' then
  -- blinking random light
  if GetTimer(e) > delay[e] then
  if on[e] == 0 then
  on[e] = 1
  ShowLight(e)
  else
  on[e] = 0
  HideLight(e)
  end
  delay[e] = GetTimer(e) + math.random(100,1500)
  end
  elseif state[e] == 'on' then
  ShowLight(e)
  else
  HideLight(e)
  end
end

Спасибо за внимание. С вами был Максим Епихин

Источник: КЛИК»
Категория: Создание игр | Добавил: mepihindeveloper (29 Декабря 2015) | Автор: Максим Епихин
Просмотров: 6482 | Комментарии: 3 | Рейтинг: 5.0/1 |
Теги: как создать игры, LUA, программирование, Разработка игр, easy game maker, обзор, gameguru, на русском, обучение, для новичков
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «GameGuru. Маргание света», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 3
+2-
3 Dj_FroZTBite   (01 Января 2016 00:58) [Материал]
Dj_FroZTBiteмОргание.

+3-
1 TLT   (29 Декабря 2015 17:00) [Материал]
TLTСлишком мелкие уроки... зачем так дробить? Как сделать шаг, как поставить ногу, как выпрямить тело... Лучше делать цельный урок.

+1-
2 mepihindeveloper   (29 Декабря 2015 20:04) [Материал]
mepihindeveloperхорошо, учту

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • BlitzPlus
  • Platfinity
  • GB Studio
  • PICO-8
  • Moai
  • PureBasic
  • JMonkeyEngine
  • Doom Legacy
  • Createrria 2
  • RuneSword
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг