Bug? Problem width IF - END IF??

Juan Luis Lopez

Member
Licensed User
Longtime User
Hello!
When i try to compile the following code:

B4X:
Sub ShowMainMenu
If CanShowMenu= True Then
        If MainMenuYaCargado = False
            MainMenuBackGround.Initialize(0,0,100%x,100%y,0,0,"fondojuego.png",0)
            MenuPlayButton.Initialize(ScreenWidth / 5, 200, 3 *ScreenWidth / 5, 100,0,0,"btnplay.png",0)
            MenuLevelsButton.Initialize(ScreenWidth / 6, ScreenHeight/2 - 50, 4 *ScreenWidth / 6, 100,0,0,"btnlevelselect.png",0)
            MenuRulesButton.Initialize(ScreenWidth / 5, ScreenHeight - 300,3 *ScreenWidth / 5,100,0,0,"btnrules.png",0)
            BolaMenu.Initialize(100,100,50,50,7,7,"rojo.png",0)
            GameCanvas.BitmapsData.Add(MainMenuBackGround.Imagen)
            GameCanvas.BitmapsData.Add(BolaMenu.Imagen)
            GameCanvas.BitmapsData.Add(MenuPlayButton.Imagen)
            GameCanvas.BitmapsData.Add(MenuLevelsButton.Imagen)
            GameCanvas.BitmapsData.Add(MenuRulesButton.Imagen)
            MainMenuYaCargado = True
        Else
        'Animar la bola rebotando
        Colisiones.RebotaEnPantalla(BolaMenu)
        BolaMenu.actualizar
        End If
End If       
End Sub

The compiler says:

Parsing code. Error
Error parsing program.
Error description: Missing Keyword: end sub
Occurred on line: 146
End If


I Think the code is correct Isnt it?
 

ernschd

Active Member
Licensed User
Longtime User
Hint: keep your code left so that it's less nested! Means something like this
B4X:
Sub ShowMainMenu
    If CanShowMenu = False Then Return
       
    If MainMenuYaCargado = True Then
        Animar la bola rebotando
        Colisiones.RebotaEnPantalla(BolaMenu)
        BolaMenu.actualizar
        Return
    End If
   
    MainMenuBackGround.Initialize(0,0,100%x,100%y,0,0,"fondojuego.png",0)
    MenuPlayButton.Initialize(ScreenWidth / 5, 200, 3 *ScreenWidth / 5, 100,0,0,"btnplay.png",0)
    MenuLevelsButton.Initialize(ScreenWidth / 6, ScreenHeight/2 - 50, 4 *ScreenWidth / 6, 100,0,0,"btnlevelselect.png",0)
    MenuRulesButton.Initialize(ScreenWidth / 5, ScreenHeight - 300,3 *ScreenWidth / 5,100,0,0,"btnrules.png",0)
    BolaMenu.Initialize(100,100,50,50,7,7,"rojo.png",0)
    GameCanvas.BitmapsData.Add(MainMenuBackGround.Imagen)
    GameCanvas.BitmapsData.Add(BolaMenu.Imagen)
    GameCanvas.BitmapsData.Add(MenuPlayButton.Imagen)
    GameCanvas.BitmapsData.Add(MenuLevelsButton.Imagen)
    GameCanvas.BitmapsData.Add(MenuRulesButton.Imagen)
    MainMenuYaCargado = True
End Sub
 
Top