Quote: "Ok so here's my basic code so far, how can I make a transparent png sprite look the same on the texturered plane? And how would I find the exact height for the exact width/height of the image?"
Well, since you're working in 3D, it would be totally Z-depth dependent. So essentially it's kind of a difficult question to answer. You'll also be sizing your plain according to the ratio of your world. There's the tricky part...
...Except it's not. It doesn't matter because as long as the correct scaling is maintained, a little resizing won't affect the image much. You can no longer think in 2D terms.
`Setup Display
SET DISPLAY MODE DESKTOP WIDTH(), DESKTOP HEIGHT(), 32
AUTOCAM OFF
COLOR BACKDROP RGB(0,0,0)
POSITION CAMERA 0, 0,0,0
`Make a small ball
MAKE OBJECT SPHERE 1, 0.5
POSITION OBJECT 1, 1,0,5
`Make a big ball
MAKE OBJECT SPHERE 2, 50
POSITION OBJECT 2, -1,0,500
`Wait to exit
WHILE SCANCODE() = 0
TEXT 1, 50, "They look identicle but 1 is 100x bigger than the other. Press any key..."
ENDWHILE
Now when it comes to textured objects being used for sprites, the best you can do is decide on a ratio and go with it. There's a formula for calculating the projected size of something using trigonometry or something but it eludes me right now. As I said though, it technically doesn't matter what size you make your models so long as you stick to that ratio. You could even use the image dimensions (Returned by IMAGE HEIGHT() and IMAGE WIDTH()). It depends a lot on the image texture size. If you are using images intended as sprites then it's fair to assume you don't have massive images weighing in at over 128x128, in fact I'd bet they're around 64x64 or 32x64. Therefore it's safe to just use the exact pixel-size for the unit-size of your models without fear of using too much resources. Something like this:
LOAD IMAGE "Player.png", 1, 1
objx# = IMAGE WIDTH(1)
objy# = IMAGE HEIGHT(1)
MAKE OBJECT PLAIN 1, objx#, objy#
TEXTURE OBJECT 1, 1
SET OBJECT TRANSPARENCY 1, 4
Now, the only factor left becomes your camera's z-depth. You can match it up to the image size using complex formulas if you want to but it would be a waste of time. Rather just get an approximate fixed-distance between the camera and the player that keeps the player more or less the size you want and that's it.
...I hope I'm explaining this all correctly... Basically, 3D = relative to the world, 2D = relative to the screen. In 3D, you can build the player to fit the world or the world to fit the player. In 2D, you have to think of the screen. In 3D, the only thing that matters is the monitor's aspect ratio. In 2D the resolution matters. Using the same example to illustrate:
x = 800
y = 600
Start:
`Setup Display
SET DISPLAY MODE x, y, 32
AUTOCAM OFF
COLOR BACKDROP RGB(0,0,0)
POSITION CAMERA 0, 0,0,0
`Make a small ball
MAKE OBJECT SPHERE 1, 0.5
POSITION OBJECT 1, 1,0,5
`Make a big ball
MAKE OBJECT SPHERE 2, 50
POSITION OBJECT 2, -1,0,500
`Make a marker
MAKE OBJECT CUBE 3, 0.5
POSITION OBJECT 3, 0,2.6,5
`Wait to exit
WHILE SCANCODE() = 0
TEXT 1, 50, "They look identical but 1 is 100x bigger than the other. Press any key..."
TEXT 1, 100, "Resolution: " + STR$(x) + "x" + STR$(y)
TEXT 1, 120, "The models shall NOT move but this text will!"
ENDWHILE
IF x = 800: x = 1024: ELSE: x = 800: ENDIF
IF y = 600: y = 768: ELSE: y = 600: ENDIF
WHILE SCANCODE() > 0: ENDWHILE
GOTO start
Well that's all I can offer. I'm sure someone would know of an absolute formula, if not here, at least somewhere on the web. Maybe wiki it?