How is my BlitzMax and OOP programming?

BlitzMax Forums/BlitzMax Programming/How is my BlitzMax and OOP programming?

OK, I made some changes. How is this?
Strict
Graphics 800,600,0,20

Type Image
	Global ImageList:TList
        Field xpos,ypos:Int
        Field _image:TImage 
	Field AlphaLevel:Float 
	Field Scale:Float 
	

             'instantiate and each object to List
            Function Create:Image(startXpos:Int,startYpos:Int,imgAlpha:Float,imgScale:Float)
			Local arrPath:String[]=["gfx/blue.bmp","gfx/green.bmp","gfx/yellow.bmp","gfx/red.bmp","gfx/orange.bmp","gfx/violet.bmp"]
			
			For Local i:String = EachIn arrPath
  	                      Local img:Image = New Image
  	                      img._image = LoadImage(i)
  	                      img.xpos = startXpos
  	                      img.ypos = startYpos
			      img.AlphaLevel = imgAlpha
			      img.Scale = imgScale
			Next
            End Function 

     Method New ()
            If ImageList = Null
               ImageList = New TList
            EndIf
            ImageList.AddLast Self
     End Method
	
	'go thru each object, scale it and fade object
        Method Update()'img:Image)
		Scale:+1.0
		AlphaLevel:-0.1  
        End Method

	Function Render()
		SetBlend ALPHABLEND
			If ((ImageList = Null)  Or (ImageList.Count() = 0)) Then Return
				Local i:Image = Image(ImageList.First())
				MidHandleImage i._image
				SetScale i.Scale,i.Scale
				SetAlpha i.AlphaLevel
				DrawImage i._image, (i.xpos), i.ypos
				If i.Scale >= 15.0 Then
					ListRemove ImageList,i
					i.Scale=1.0
					i.AlphaLevel=1.0
				EndIf	
				i.Update()	
	   End Function	
End Type



'main
While Not KeyHit(KEY_ESCAPE)
	Cls	
	If MouseHit(1) Then
		Image.Create((GraphicsWidth() / 2),(GraphicsHeight() / 2),1.0,1.0)
	EndIf
		
	Image.Render()
		
	Flip()
	FlushMem()
Wend