Android Question Problem with buttons and stages in LIBGDX.

Discussion in 'Android Questions' started by Eme Fibonacci, Jul 22, 2019.

  1. Eme Fibonacci

    Eme Fibonacci Well-Known Member Licensed User

    Hi,
    I have two stages. Each stage has a button.

    If I initialize in this order:

    Stage1.Initialize ("Stage1")
    Stage2.Initialize ("Stage2")

    Only the stage 2 button works.

    If I initialize in this order:

    Stage2.Initialize ("Stage2")
    Stage1.Initialize ("Stage1")

    Only the stage 1 button works.

    Here is a sample code (use key back to toggle between stages).

    Code:
    Sub Process_Globals
    End Sub

    Sub Globals
        
    Public lGdx As LibGDX
        
    Private GL As lgGL
        
    Private LGSM As lgScreenManager
        
    Private LG_Screen(2As lgScreen
        
    Private lastscreen As Int
        
    Private Stage1, Stage2 As lgScn2DStage
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
        
    Private V As View = lGdx.InitializeView("LG")
        
    Activity.AddView(V, 0,0,100%x,100%y)
    End Sub

    Sub Activity_Resume
    End Sub

    Sub Activity_Pause (UserClosed As Boolean)
    End Sub

    Sub LG_Create
        Stage2.Initialize(
    "Stage2")
        Stage1.Initialize(
    "Stage1")
     
        CreateStage1
        CreateStage2
        LGSM.Initialize(lGdx)
        LG_Screen(
    0) = LGSM.AddScreen("LGS1")
        LG_Screen(
    1) = LGSM.AddScreen("LGS2")
        LGSM.CurrentScreen = LG_Screen(lastscreen)
    End Sub

    Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
        If lastscreen=0 Then
            lastscreen=
    1
            LGSM.CurrentScreen=LG_Screen(
    1)
            
    Return True
        
    End If
        lastscreen=
    0
        LGSM.CurrentScreen=LG_Screen(
    0)
        
    Return True
    End Sub

    Sub LGS1_Show
        lastscreen=
    0
    End Sub
    Sub LGS1_Resize(Width As Int, Height As Int)
        Stage1.SetViewport(
    480,854,False)
    End Sub
    Sub LGS1_Render(Delta As Float)
        GL.glClear(GL.GL10_COLOR_BUFFER_BIT)
        Stage1.SpriteBatch.ProjectionMatrix=Stage1.Camera.Combined
        Stage1.Draw
        Stage1.Act
    End Sub

    Sub LGS2_Show
        lastscreen=
    1
    End Sub

    Sub LGS2_Resize(Width As Int, Height As Int)
        Stage2.SetViewport(
    480,854,False)
    End Sub
    Sub LGS2_Render(Delta As Float)
        GL.glClear(GL.GL10_COLOR_BUFFER_BIT)
        Stage2.SpriteBatch.ProjectionMatrix=Stage2.Camera.Combined
        Stage2.Draw
        Stage2.Act
    End Sub

    Sub CreateStage1
        
    Dim b1 As lgScn2DButton
        
    Dim texb1,texb2 As lgTexture
        texb1.Initialize(
    "normal.png") : texb2.Initialize("pressed.png")
        
    Private npBtnUp As lgScn2DSpriteDrawable :    npBtnUp.Initialize4(texb1)
        
    Private npBtnDown As lgScn2DSpriteDrawable : npBtnDown.Initialize4(texb2)
        
    Private stylButton As lgScn2DButtonStyle :    stylButton.Initialize(npBtnUp,npBtnDown)
        stylButton.SetDrawableSize(
    100,100) :    b1.Initialize(stylButton,"BTN")
        b1.Name=
    "btn1" : b1.X=100 :    b1.Y=100 :    Stage1.AddActor(b1)
    End Sub
    Sub CreateStage2
        
    Dim b2 As lgScn2DButton
        
    Dim texb1,texb2 As lgTexture
        texb1.Initialize(
    "normal.png") : texb2.Initialize("pressed.png")
        
    Private npBtnUp As lgScn2DSpriteDrawable :    npBtnUp.Initialize4(texb1)
        
    Private npBtnDown As lgScn2DSpriteDrawable : npBtnDown.Initialize4(texb2)
        
    Private stylButton As lgScn2DButtonStyle :    stylButton.Initialize(npBtnUp,npBtnDown)
        stylButton.SetDrawableSize(
    100,100) :    b2.Initialize(stylButton,"BTN")
        b2.Name=
    "btn2" : b2.X=200 :    b2.Y=200 :    Stage2.AddActor(b2)
    End Sub

    Sub BTN_Click(CheckedState As Boolean)
        
    Private btn As lgScn2DButton = Sender
        
    Log(btn.Name)
    End Sub
    Any idea?

    Thank you.

    P.S.
    If you can test my code, please copy the images to the file folder.
     

    Attached Files:

    Last edited: Jul 22, 2019
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice