Sprite:Sprite = Sprite.Create()
(This is jus the way I do it, its not better, just the way I do it)
The first sprite, Is lets assume a field of a Type, if so it would be, F_Sprite, The second Sprite Is a Type, TSprite as is the third. And Create is a return Fucntion.
Field F_Sprite:TSprite = TSprite.RF_Create()
or. The first Sprite, is a global
Global G_Sprite:TSprite = TSprite.RF_Create()
So we do have a fundimental difference of Opinion, because the thing that you will noway have, is in fact my preffered way.
In your other example, I would have,
Type TShip
Field F_Image:TImage
Field F_Sprite:Tsprite
...
For Local A_Ship:TShip = 0 to Eachin TShip.GF_List
A_Ship.F_Image = etc
A_Ship.F_Sprit = etc
next
C_ Const
G_ Global
P_ Paramater
T Type
RF_ A Function that returns somthing
RM_ A Method that returns something
SM_ A Method that doesnt return anything
SF_ Same for Fucntions
GF_ Global Field
F_ Field
L_ or A_ A local instance so
Self.GF_DeskTopSize.F_X
Self is this (TDisplay) type because
GF_DeskTopSize is a static Global Field
F_X is a member Field of GF_DeskTopSIze
Maybe
TDisplay.GF_DeskTopSize.F_X
Would be easyer to read, but as I said Ive just moved it from TGame to TDisplay, and it seemed better to change it to Self, incase I moved it back