Graphics

 View Only
  • 1.  Check Framebuffer layer

    Posted 01-23-2018 21:03

    Hey.
    Help me please.
    The problem with Framebuffer.
    One base-scene, with a parameters 0 or 1, starts another scene-timer at a different level.
    In the same base-scene, there is a framebuffer test, if is the scene-timer on the desired layer. If is it true, nothing happens, if is false, then set online scene-timer.
    In the seqence list there are several scenes with the same parameter 1, that is, the scene-timr is OnLine. And the scene-timer should remain in state on, while the main ones change in the list. But sometimes this scene-timer disappears from the layer. There is no exact moment of disappearance. Always different.
    The script is in the tabs OnBeforeOnline.
    The scene-time have in-out animations, but disappears by the cut.

    Script.



    '---------------------------------------------
    dim timer_txt_on_off as xpBaseObject
    dim Scene_timer_on as xpscene
    dim Scene_timer_off as xpscene
    Dim Scene_temp as xpscene
    Dim outFB as xpoutputframebuffer
    Dim bTemp AS boolean

    Self.GetObjectByName("Timer on/off", timer_txt_on_off)

    bTemp = false
    Engine.getoutputframebuffer(0, outFB)
    bTemp = outFB.getsceneonlayer(100, Scene_temp)
    self.project.GetSceneByName("Timer_ON", Scene_timer_on)
    self.project.GetSceneByName("Timer_OFF", Scene_timer_off)

    if timer_txt_on_off.text="ON" then
    bTemp = outFB.getsceneonlayer(100, Scene_temp)
    if bTemp=false then
    Scene_timer_on.SetOnline (0, 100)
    end if
    end if

    if timer_txt_on_off.text="OFF" then
    bTemp = outFB.getsceneonlayer(100, Scene_temp)
    if bTemp=true then
    Scene_timer_off.SetOnline (0, 100)
    end if
    end if
    '-----------------------------------------

    And in the tab OnBeforeOffline the script setoffline timer

    '-------------------------------
    dim timer_txt_on_off as xpBaseObject
    dim Scene_timer_on as xpscene
    dim Scene_timer_off as xpscene
    Dim Scene_temp as xpscene
    Dim outFB as xpoutputframebuffer
    Dim bTemp AS boolean

    Self.GetObjectByName("Timer on/off", timer_txt_on_off)

    bTemp = false
    Engine.getoutputframebuffer(0, outFB)
    bTemp = outFB.getsceneonlayer(100, Scene_temp)
    self.project.GetSceneByName("Timer_ON", Scene_timer_on)
    self.project.GetSceneByName("Timer_OFF", Scene_timer_off)


    if bTemp=true then
    Scene_timer_off.SetOnline (0, 100)
    end if


    '-------------------------------





    Sorry for my English. )

    Thanks.



  • 2.  RE: Check Framebuffer layer

    Posted 01-23-2018 23:23
    I found this.
    There is a pattern.
    Duplicated 25 times the scene and clicked the take. And counted the take.
    5 of 5 on 19th times the layer of the scene-timer is disappear.
    Who are building programs like that so? This is a rhetorical question.
    How to fix it?

    #XPression


  • 3.  RE: Check Framebuffer layer

    Posted 01-24-2018 00:49
    Hello again! )
    Fixed.
    It is important that it was written in the script "false"
    self.project.GetSceneByName("_____", ______, false)

    Because of this, many copies of scenes in the cache took place and the cache self-cleaning, maybe.
    So thanks, everyone) Maybe this case will become lesson and help in same problem.

    #XPression


  • 4.  RE: Check Framebuffer layer

    Posted 01-24-2018 01:46
    If you don't have false the scene will get garbage collected whenever the .net garbage collector kicks in.
    #XPression


  • 5.  RE: Check Framebuffer layer

    Posted 01-24-2018 06:47
    I already understood.
    Would be good if this default parameter is the false.
    Could you, please, get an example or cases, when exactly is this situation necessary? I mean parameter is true.
    #XPression