Here's my current code with my scaling code readded as it was yesterday for my tank demo i'm working on...
Rem Project: 2D Tank Demo
Rem Created: 1/27/2003 9:55:17 AM
Rem ***** Main Source File *****
`##############################################################
`##############################################################
GOSUB Initialize
GOSUB LoadSprites
`###############################
` Main Game Loop
`###############################
WHILE gameover <> TRUE
SYNC
MOVE SPRITE 1,(tank_accel/10)
`-------------------------------
`Get Key...
`-------------------------------
key$=INKEY$()
`-------------------------------
`Test Key...
`-------------------------------
IF key$ = "a"
`-------------------------------
`Shell firing code goes here....
`-------------------------------
ENDIF
IF key$ = "z" AND tank_scale = 100
`-------------------------------
`Tank Jump Code
`-------------------------------
FOR i = 1 to 10
SCALE SPRITE 1, tank_scale + (i * 10)
WAIT 150
NEXT i
tank_scale = 100
SCALE SPRITE 1, tank_scale
ENDIF
IF key$ = "q"
gameover = TRUE
ENDIF
IF UPKEY() = 1
tank_accel = tank_accel + 5
IF tank_accel > 100
tank_accel = 100
ENDIF
ENDIF
IF RIGHTKEY() = 1
tank_accel = tank_accel - 5
IF tank_accel < 1
tank_accel = 0
ENDIF
ROTATE SPRITE 1,SPRITE ANGLE (1) + 10
ENDIF
IF LEFTKEY() = 1
tank_accel = tank_accel - 5
IF tank_accel < 1
tank_accel = 0
ENDIF
ROTATE SPRITE 1,SPRITE ANGLE (1) - 10
ENDIF
IF DOWNKEY() = 1
tank_accel = tank_accel - 5
IF tank_accel < 1
tank_accel = 0
ENDIF
ENDIF
`----------------------------------------
`Keep the tank on the screen...
`----------------------------------------
IF SPRITE X(1) > SCREEN WIDTH()
SPRITE 1,1,SPRITE Y(1), 1
ENDIF
IF SPRITE Y(1) > SCREEN HEIGHT()
SPRITE 1,SPRITE X(1),1, 1
ENDIF
IF SPRITE X(1) < 1
SPRITE 1,SCREEN WIDTH(),SPRITE Y(1), 1
ENDIF
IF SPRITE Y(1) < 1
SPRITE 1,SPRITE X(1),SCREEN HEIGHT(), 1
ENDIF
ENDWHILE
SYNC OFF
END
`##############################################################
`##############################################################
`###############################
Initialize:
`###############################
` IF check display mode(640,480,16) = 1
` set display mode 640,480,16
IF check display mode(800,600,16) = 1
set display mode 800,600,16
ENDIF
SYNC ON
SYNC RATE 60
CLS
`HIDE MOUSE
TRUE = 1
FALSE = 0
gameover = FALSE
`-------------------------------
` The command below allows you to setup ur own transparceny color.
`-------------------------------
SET IMAGE COLORKEY 255,0,255
`-------------------------------
` Load up Background
`-------------------------------
load bitmap "Art\whisper.jpg",1
copy bitmap 1,0,0,640,480,0,0,0,screen width(),screen height()
delete bitmap 1
`-------------------------------
` Load up Music
`-------------------------------
`LOAD MUSIC "bang.mp3",1
`PLAY MUSIC 1
RETURN
`###############################
LoadSprites:
`###############################
`-------------------------------
` Load and display the sprites...
`-------------------------------
CREATE ANIMATED SPRITE 1,"\art\Tank_1.bmp",2,1,1
SET SPRITE 1, 1, 1
SET SPRITE FRAME 1, 0
OFFSET SPRITE 1, SPRITE WIDTH(1)/2, SPRITE HEIGHT(1)/2
SPRITE 1, 200, 200, 1
tank_accel = 0
tank_scale = 100
`-------------------------------
` Load and tank shell - NOT USED YET.
`-------------------------------
`CREATE ANIMATED SPRITE 2,"\art\bullet.bmp",1,1,2
`SET SPRITE 2, 1, 1
RETURN
I'm currently at work, so i can't perform any compiling untill later. And second look, I think I need to add some code to smoothly scale it back down to 100%.
BTW, I have my images, added into the "media" area inside Dark Basic Pro for the project, and I even tried removing and re-adding them to try and fix my silly double sized appearnce of my 2d sprites, but that didn't work either.