Small Basic – Controls are Shapes


All of the Controls (Buttons, TextBoxes etc) that can be created with the Controls object can be manipulated with the Shapes object methods.

This can create some fun effects and make your games or programs more visually interesting.

Here is a simple example - it is possible to click it, but pretty hard!

http://smallbasic.com/program/?CWT060

gw = 600
gh = 600
GraphicsWindow.Width = gw
GraphicsWindow.Height = gh
 
clickMe = Controls.AddButton("Click Me",0,0)
Controls.SetSize(clickMe,70,30)
GraphicsWindow.MouseMove = OnMouseMove
Controls.ButtonClicked = OnButtonClicked
 
Sub OnMouseMove
  x = Math.Abs(gw-GraphicsWindow.MouseX)
  y = Math.Abs(gh-GraphicsWindow.MouseY)
  dist = Math.SquareRoot((x-gw/2)*(x-gw/2)+(y-gh/2)*(y-gh/2))
  Shapes.SetOpacity(clickMe,dist-20)
  Shapes.Zoom(clickMe,dist/20,dist/20)
  Shapes.Move(clickMe,x-35,y-15)
EndSub
 
Sub OnButtonClicked
  GraphicsWindow.BackgroundColor = "Red"
EndSub

 

Comments (4)

  1. Don't fall for the trap! Don't click the big "Click Me" button! =^)

  2. litdev says:

    Ha – Didn't think of that.

  3. I could clicked this button!  If you succeed, you can see red background.

    smallbasic.com/program

  4. I keep trying to click the button in the game, and I still can't click it!

Skip to main content