Title: My IDEA, a qb64 animation Post by: GarrisonRicketson on May 23, 2011, 08:38:12 pm Ok well here is a "rough ver" of my Idea,...no GIF, just qb64,.....
Code: REM Much thanks to Unseen, and his "useing a sprite sheet" tutorial, so it code I used to do this. SCREEN _NEWIMAGE(600, 400, 32) volume = 1 ' gamestart = False ' intromusic = _SNDOPEN("Walking_1.wav", "VOL") '//You need to change this 'according to the name of the music file you use, Ie: bigger_better.mid _SNDVOL intromusic, volume ' _SNDLOOP intromusic ' PRINT " Music, By Miles Davis and Jofn Coltrane " _DELAY 1 PRINT " MY IDEA" _DELAY 1 TYPE Rectangle X AS INTEGER Y AS INTEGER Width AS INTEGER Height AS INTEGER END TYPE Sprite& = _LOADIMAGE("ideasprtsheet.png") '// GARY SAYS The sprite we are using has 49 frames, it has 10 frames on the X axis and 5 on the Y axis. '// As we are dealing with an equally spaced sprite sheet we can load all the x/y points in a set of for loops. DIM SpriteImageRect(50) AS Rectangle FOR j% = 0 TO _HEIGHT(Sprite&) - (_HEIGHT(Sprite&) / 5) STEP (_HEIGHT(Sprite&) / 5) FOR i% = 0 TO _WIDTH(Sprite&) - (_WIDTH(Sprite&) / 10) STEP (_WIDTH(Sprite&) / 10) SpriteImageRect(rectcnt%).X = i% SpriteImageRect(rectcnt%).Y = j% SpriteImageRect(rectcnt%).Width = _WIDTH(Sprite&) / 10 SpriteImageRect(rectcnt%).Height = _HEIGHT(Sprite&) / 5 rectcnt% = rectcnt% + 1 NEXT NEXT DO '// Draw the images in turn.skip the last image as it is blank. FOR i% = 0 TO 48 _PUTIMAGE (200, 100)-(420, 350), Sprite&, , (SpriteImageRect(i%).X, SpriteImageRect(i%).Y)-(SpriteImageRect(i%).X + SpriteImageRect(i%).Width, SpriteImageRect(i%).Y + SpriteImageRect(i%).Height) _DISPLAY _DELAY .2 kb$ = INKEY$ IF kb$ = CHR$(27) THEN SYSTEM NEXT LOOP --------------------------- Here is the drop box link, for the music,sprite sheet,and source (Idea.bas) http://dl.dropbox.com/u/15387474/QB64_IDEA.rar (http://dl.dropbox.com/u/15387474/QB64_IDEA.rar) The name Bigger_better, is misleading, but I used that name because, it actually is for a bigger and better sprite sheet,that I am working on, (75 frames). From Garry, P.S.attached is the sprite sheet Title: Re: My IDEA, a qb64 animation Post by: GarrisonRicketson on June 27, 2011, 07:53:36 am This is my newest on this, But it is a boy danceing. I had trouble with useing a sprite sheet ,with frames that are small 120 x 94, when the image is enlarged to
the full window size, it becomes "rough", or not very clear,...so I made the sprite sheet with full size images and it looks better. There may be a better way to solve this, if anyone knows. Code: REM Much thanks to Unseen, and his "useing a sprite sheet" tutorial, so it code I used to do this. Attatched is the sprite sheet andSCREEN _NEWIMAGE(600, 400, 32) WINDOW SCREEN(200, 100)-(420, 250) volume = 1 ' gamestart = False ' intromusic = _SNDOPEN("walking_1.wav", "VOL") ' _SNDVOL intromusic, volume ' _SNDLOOP intromusic ' PRINT " Music, Garry" _DELAY 1 PRINT " MY DRAWINGS " _DELAY 1 TYPE Rectangle X AS INTEGER Y AS INTEGER Width AS INTEGER Height AS INTEGER END TYPE Sprite& = _LOADIMAGE("dibujo.png") '// GARY SAYS The sprite we are using has 49 frames, it has 10 frames on the X axis and 5 on the Y axis. '// As we are dealing with an equally spaced sprite sheet we can load all the x/y points in a set of for loops. DIM SpriteImageRect(50) AS Rectangle FOR j% = 0 TO _HEIGHT(Sprite&) - (_HEIGHT(Sprite&) / 6) STEP (_HEIGHT(Sprite&) / 6) FOR i% = 0 TO _WIDTH(Sprite&) - (_WIDTH(Sprite&) / 2) STEP (_WIDTH(Sprite&) / 2) SpriteImageRect(rectcnt%).X = i% SpriteImageRect(rectcnt%).Y = j% SpriteImageRect(rectcnt%).Width = _WIDTH(Sprite&) / 2 SpriteImageRect(rectcnt%).Height = _HEIGHT(Sprite&) / 6 rectcnt% = rectcnt% + 1 NEXT NEXT DO '// Draw the images in turn.skip the last image as it is blank. FOR i% = 0 TO 11 _PUTIMAGE (200, 100)-(420, 250), Sprite&, , (SpriteImageRect(i%).X, SpriteImageRect(i%).Y)-(SpriteImageRect(i%).X + SpriteImageRect(i%).Width, SpriteImageRect(i%).Y + SpriteImageRect(i%).Height) _DISPLAY _DELAY .2 '////this is the _delay, can be changed to fit the music kb$ = INKEY$ IF kb$ = CHR$(27) THEN SYSTEM NEXT LOOP The music is on Drop Box: http://dl.dropbox.com/u/15387474/QB64_DanceingBoy.zip (http://dl.dropbox.com/u/15387474/QB64_DanceingBoy.zip) or you can download this ,it is the same sprite sheet, (http://i1140.photobucket.com/albums/n566/GarryRicketson/GarrysPitchures/Computer%20Drawings%20Paintings/Dibujo.png) Title: Re: My IDEA, a qb64 animation Post by: GarrisonRicketson on September 13, 2011, 06:51:21 pm Thes are some ideas I had, I am still working on ways to improve them,.. Unseen posted a tutorial on useing sprtite sheets, the code he used to demonstrate, is what I am useing,..it is very versatile, and can accomadate many turpes of sprite sheets, with out compromise any of the movement. Thank Unseen,.. from Garry |