Пятница, 19 Апреля 2024, 22:37

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

Меню сайта
Категории каталога
Создание игр [355]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [145]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [161]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [129]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Как вы увлеклись геймкриэйтингом?
Всего ответов: 9775
Главная » Статьи » Создание игр

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) | Автор: Максим Епихин
Просмотров: 6259 | Комментарии: 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 случ. движков
  • HPL1 Engine
  • PGD Community Engine
  • Yami RPG Editor
  • Pixel Game Maker MV
  • MANU
  • NaaLaa
  • Doom Legacy
  • NeoAxis Engine
  • DzQ
  • RTADS
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг