Author Topic: GUI: Fader - исчезновение сцены и наоборот  (Read 587 times)

0 Members and 1 Guest are viewing this topic.

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 910
  • Reputation 36
  • Game making is my hobby for life!
Привет, всем!

Этот пример демонстрирует работу GUI объекта Fader (Фейдер). Благодаря ему можно сделать так чтобы сцена постепенно исчезла или наоборот появилась.

1. объявляем объект Fader:
Code: [Select]
Dim guiFader As wGUIobject
2. создаём объект Fader (до главного цикла):
Code: [Select]
guiFader = wAddInOutFader(0,0,800,600,0,-1)
3. вставляем в код нажатия клавиш функции для активации Фейдеров:
           
Code: [Select]
Case KEY_KEY_1     ' Делаем исчезновение сцены
                ' if the key is going down
                if KeyEvent->direction = wKEY_DOWN then
                    wInOutFaderSetFadeOut(guiFader, 4000)' 4000 миллисекунд, т.е. 4 секунды
                EndIf

            Case KEY_KEY_2    ' Делаем появление сцены
                ' if the key is going down
                if KeyEvent->direction = wKEY_DOWN then
                   wInOutFaderSetFadeIn(guiFader, 4000) ' 4000 миллисекунд, т.е. 4 секунды
                end if
4. отрисовываем GUI:
       
Code: [Select]
'Отрисовка GUI - эта функция должна быть перед функцией wEndScene
        wDrawGUI
       
        ' end drawing the scene and render it
       
        wEndScene

Просто киньте пример в папку \WorldSim3D\Examples
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!

Offline Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 888
  • Reputation 63
Re: GUI: Fader - исчезновение сцены и наоборот
« Reply #1 on: June 10, 2016, 09:05:51 PM »
Интересно, как было бы проще организовать поочередное срабатывание фейдера Out, затем In за одно событие мыши (ЛКМ, ПКМ иди др.).
У фейдера есть функция
Code: [Select]
wInOutFaderIsReady, но она возвращает 1 только когда когда фейдер в положении Выключено, т.е. прозрачен и время вышло. В остальных случаях- 0. Отсчитывать миллисекунды вручную ?
Под лежачий камень мы всегда успеем...

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 910
  • Reputation 36
  • Game making is my hobby for life!
Re: GUI: Fader - исчезновение сцены и наоборот
« Reply #2 on: June 11, 2016, 03:07:28 PM »
Quote
Отсчитывать миллисекунды вручную ?
Ну кажется на 1-й взгляд, да. Сделать таймер.
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!