Показано с 1 по 10 из 189

Тема: Мастера мэйкера

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Маститый Аватар для Элрик
    Информация о пользователе
    Регистрация
    09.09.2010
    Сообщений
    1,284
    Записей в дневнике
    47
    Репутация: 24 Добавить или отнять репутацию

    По умолчанию

    Небольшая задачка для мастеров, реализация идеи, которая спонтанно влезла мне в мозг.
    Имеется 10 секундный таймер, по истечении которого экран затухает и сново загорается. Таймер перезапускается и снова считает от 10 до нуля. Можно нажать кнопку X (английская А на клавиатуре) и тогда пойдет процесс, погас, загорелся, таймер пошел заново. Реализация вроде как совсем-совсем простая, но мне еще надо заменить цифры таймера на полоску с 10 делениями (это уже скрипты пошли). Одно деление равно одной секунде. И чтобы эту полоску можно было по простому расположить в любом месте. Ну и чтобы можно было отредактировать количество секунд на деление в полоске. Плюс, чтобы его можно было остановить, но не прервать и запустить заново, этого мне не надо, при запуске какого-нибудь эвента.
    Вообще у меня целый концепт идеи вырисовывается на тему этой идеи...
    Последний раз редактировалось Элрик; 20.05.2015 в 20:28.

  2. #2
    Новичок Аватар для Evgeny Kiskin
    Информация о пользователе
    Регистрация
    22.03.2015
    Адрес
    Москва
    Сообщений
    21
    Репутация: 3 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Элрик Посмотреть сообщение
    Имеется 10 секундный таймер, по истечении которого экран затухает и сново загорается.
    http://dropmefiles.com/p9RtJ --- Timer & Blackout

    Цитата Сообщение от Элрик Посмотреть сообщение
    Таймер перезапускается и снова считает от 10 до нуля. Можно нажать кнопку X...
    Нажимаешь Х = запускается таймер. Ты, вроде, по-другому хотел, если объяснишь понятнее, то, может быть, я переделаю.

    Цитата Сообщение от Элрик Посмотреть сообщение
    ...полоска с 10 делениями... И чтобы эту полоску можно было по простому расположить в любом месте. Ну и чтобы можно было отредактировать количество секунд на деление в полоске.
    18 и 19 строка задают Х и Y полоски.
    Всего 10 делений. Общее время задаётся в первой строке (60 = 1 сек).
    34 строка - продолжительность черного экрана (-60 = 1 сек).

    Цитата Сообщение от Элрик Посмотреть сообщение
    Плюс, чтобы его можно было остановить, но не прервать и запустить заново...
    $blackout_block=true --- остановить таймер, $blackout_block=false --- запустить.
    Последний раз редактировалось Evgeny Kiskin; 21.05.2015 в 11:50.

  3. #3
    Маститый Аватар для Элрик
    Информация о пользователе
    Регистрация
    09.09.2010
    Сообщений
    1,284
    Записей в дневнике
    47
    Репутация: 24 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Evgeny Kiskin Посмотреть сообщение
    http://dropmefiles.com/p9RtJ --- Timer & Blackout
    Нажимаешь Х = запускается таймер. Ты, вроде, по-другому хотел, если объяснишь понятнее, то, может быть, я переделаю.
    Не. Идет таймер. Не трогаешь кнопку - он заканчивается, экран тухнет, появляется и таймер по новой. Жмешь кнопку - экран затухает и появляется раньше времени. Таймер сбрасывается.

  4. #4
    Новичок Аватар для Evgeny Kiskin
    Информация о пользователе
    Регистрация
    22.03.2015
    Адрес
    Москва
    Сообщений
    21
    Репутация: 3 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Элрик Посмотреть сообщение
    Не.
    Спойлер :
    $blackout_time=600

    class Scene_Base
    alias blackout_on update
    def update
    blackout_on
    blackout_update if !$blackout_block and $blackout_timer
    $blackout_timer=-1 if Input.press?(:X)
    blackout if $blackout_timer.to_i<0
    end
    end

    def blackout_start
    $blackout_timer=$blackout_time
    $blackout_bar=Sprite.new
    $blackout_bar.bitmap=Cache.picture("blackout_bar")
    $blackout_bar.x=20
    $blackout_bar.y=15
    $blackout_bar.z=101
    $blackout_bar.src_rect.set(0,0,101,8)
    end

    def blackout_update
    $blackout_timer-=1
    $blackout_bar.src_rect.width=11+10*($blackout_time r*10/$blackout_time) if $blackout_bar and !$blackout_bar.disposed?
    end


    def blackout
    Graphics.brightness=0
    $blackout_bar.dispose if $blackout_bar and !$blackout_bar.disposed?
    $blackout_bar=nil
    if $blackout_timer==-60
    Graphics.brightness=255
    blackout_start
    end
    end

    Кнопка X запустит таймер. Можно скриптом: $blackout_timer=600. Отключить таймер: ($blackout_timer=nil; $blackout_bar=nil)

  5. #5
    Маститый Аватар для Элрик
    Информация о пользователе
    Регистрация
    09.09.2010
    Сообщений
    1,284
    Записей в дневнике
    47
    Репутация: 24 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Evgeny Kiskin Посмотреть сообщение
    Спойлер :
    $blackout_time=600

    class Scene_Base
    alias blackout_on update
    def update
    blackout_on
    blackout_update if !$blackout_block and $blackout_timer
    $blackout_timer=-1 if Input.press?(:X)
    blackout if $blackout_timer.to_i<0
    end
    end

    def blackout_start
    $blackout_timer=$blackout_time
    $blackout_bar=Sprite.new
    $blackout_bar.bitmap=Cache.picture("blackout_bar")
    $blackout_bar.x=20
    $blackout_bar.y=15
    $blackout_bar.z=101
    $blackout_bar.src_rect.set(0,0,101,8)
    end

    def blackout_update
    $blackout_timer-=1
    $blackout_bar.src_rect.width=11+10*($blackout_time r*10/$blackout_time) if $blackout_bar and !$blackout_bar.disposed?
    end


    def blackout
    Graphics.brightness=0
    $blackout_bar.dispose if $blackout_bar and !$blackout_bar.disposed?
    $blackout_bar=nil
    if $blackout_timer==-60
    Graphics.brightness=255
    blackout_start
    end
    end

    Кнопка X запустит таймер. Можно скриптом: $blackout_timer=600. Отключить таймер: ($blackout_timer=nil; $blackout_bar=nil)
    Проблема: Надо было в материалы пихать?
    Безымянный.png

  6. #6
    Новичок Аватар для Evgeny Kiskin
    Информация о пользователе
    Регистрация
    22.03.2015
    Адрес
    Москва
    Сообщений
    21
    Репутация: 3 Добавить или отнять репутацию

    По умолчанию

    убери пробел в 25 строке - там написано "$blackout_time r" вместо "$blackout_timer"

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Мастера  мэйкера