GetLastInList

BlitzMax Forums/BlitzMax Beginners Area/GetLastInList

Type TBezier

	Field x1,x2,vx1,vx2,y1,y2,vy1,vy2
	Field t:Float
	Field pointx:Float,pointy:Float

	Function AddBezier(x1,x2,vx1,vx2,y1,y2,vy1,vy2)
		Local Bezier:TBezier = New TBezier

		Bezier.x1=x1  ' ***************  But x1 IS DEFINED
		Bezier.y1=y1
		Bezier.x2=x2
		Bezier.y2=y2
		Bezier.vx1=vx1
		Bezier.vx2=vx2
		Bezier.vy2=vy2
		Bezier.vy1=vy1
		
		BezierList.AddLast(Bezier)

	End Function

	Function DrawBeziers()
		For Local Bezier:TBezier = EachIn BezierList
			For Bezier.t:Float=0 To 1 Step .005
				Bezier.pointx:Float = bezier.x1*(1-bezier.t)^3 + 3*bezier.vx1*(1-bezier.t)^2*bezier.t + 3*bezier.vx2*(1-bezier.t)*bezier.t^2 + bezier.x2*bezier.t^3
				Bezier.pointy:Float = bezier.y1*(1-bezier.t)^3 + 3*bezier.vy1*(1-bezier.t)^2*bezier.t + 3*bezier.vy2*(1-bezier.t)*bezier.t^2 + bezier.y2*bezier.t^3
				SetColor 180,180,180
				Plot bezier.pointx,bezier.pointy
			Next
		Next
	EndFunction
	Function SubBezier()
		Local Bezier:TBezier = BezierList.Last() <---- need to define the type
		Print Bezier.x1 ' ******************** <- This will return an error saying x1 is not found
		BezierList.Remove(Bezier)
	End Function
End Type