Logo
Blitz3D Forums/Blitz3D Beginners Area/Logo
| ||
Hey, how would I go about making a logo at a begging of my game, having it fade in and then fade out and then the main menu for the game would appear? |
| ||
Hello, I have only been using Blitz3d for about 10 minutes total, but I suggest you check out the EntityAlpha command. |
| ||
Is this a 2D or 3D app? |
| ||
Oh, sorry its 2D |
| ||
Bit tricky inpure 2d as there are no alpha commands. If you have B3D out might want to use a sprite. Graphics3D 640,480 cam=CreateCamera() MoveEntity cam,0,0,-1 sp = LoadSprite("grass1.png") SpriteViewMode sp,4 alpha#=1.0 While Not KeyDown(1) EntityAlpha sp,alpha alpha=alpha-0.005 If alpha<0 Exit RenderWorld:Flip Wend End (might be a better way of doing it as I don't use sprites often). There's also a 'setgamma' method somewhere. Alternative is using extended B2D DLL. extended b2d dll or writepixelfast... writepixelfast writepixelfast2 or Skidracer's fade... fade |
| ||
NICE! Thanks a ton, that writepixelfast works really nice. |
| ||
Well, I got the fade in/out working but now my program doesn't work, it is saying an image isen't found, but it is there! Everything is corrected I've checked it tons of times but it's reading it like it is gone, any ideas? |
| ||
code please |
| ||
; sets the graphics mode Graphics 800,600,0,2 ; lets windows know the name of the program AppTitle "Bounce Back v1.0" ;does everything in the background ready to show when "flip" is used SetBuffer BackBuffer() ;The globals we'll need to use Global Start ;loads the images we'll need to use Start = LoadImage("Images\Start.bmp") ;Stuff to show the Logo fade in and out Delay 500 Blend_Black(logo,0,0,0,1000) time = MilliSecs()+1000 While MilliSecs()<time DrawBlock logo,0,0 Flip Wend Blend_Black(logo,0,0,1,1000) Cls ;while esc. key isn't pressed While Not KeyHit(1) ;program stuff, nothing goes wrong here wend end Function MainMenu() Cls DrawImage Start,300,125 ;;;;;;;;;;;;;;;;;;Problem is here, image not found result=0 While result=0 mx=MouseX():my=MouseY() If RectsOverlap(300,125,200,100,mx,my,0,0) Then DrawImage StartOver,300,125 Else DrawImage Start,300,125 ;;;;;;;;;;;;;;;Problem here too, with Start image flip endif wend Function Blend_Black(image,x,y,mode,time) ;------------------------------------------------------------------ ; Blends an Image with a Black Background (In & Out) ; ----------------------------------------------------------------- ; Image = The Image to Blend ; x = X Coordinate in the Screen ; y = Y Coordinate in the Screen ; 50000 for both to center image ; Mode = 0 Blend In ; = 1 Blend Out ; Time = Time in Milliseconds ;------------------ source = ImageBuffer(image) dest = BackBuffer() maxx = ImageWidth(image)-1 maxy = ImageHeight(image)-1 start = MilliSecs() LockBuffer source If X = 50000 And y = 50000 x = (GraphicsWidth()/2)-(ImageWidth(image)/2) y = (GraphicsHeight()/2)-(ImageHeight(image)/2) EndIf While MilliSecs()-start<time Cls LockBuffer dest count=(count+1) Mod 4 If count=0 Then minx=0: miny=0 If count=1 Then minx=1: miny=1 If count=2 Then minx=1: miny=0 If count=3 Then minx=0: miny=1 If mode=0 Then value=MilliSecs()-start If mode=1 Then value=time-MilliSecs()+start For ii=miny To maxy Step 2 For i=minx To maxx Step 2 rgb=ReadPixelFast(i,ii,source) r=(rgb And $FF0000)/$10000 g=(rgb And $FF00)/$100 b=rgb And $FF rgb=r*value/time*65536+g*value/time*256+b*value/time WritePixelFast x+i,y+ii,rgb,dest Next Next UnlockBuffer dest Flip Wend UnlockBuffer source If mode=0 Then DrawBlock image,x,y If mode=1 Then Color 0,0,0: Rect x,y,maxx+1,maxy+1 Flip End Function |
| ||
I can't see where 'logo' variables gets populated. And you overwrite the image variable 'start' with millisecs in the function. I think your loadimage was supposed to be in the 'logo' variable which is to be used in the function calls rather than start... ; sets the graphics mode Graphics 800,600,0,2 ; lets windows know the name of the program AppTitle "Bounce Back v1.0" ;does everything in the background ready To show when "flip" is used SetBuffer BackBuffer() ;The globals we'll need to use Global logo ;loads the images we'll need to use logo = LoadImage("bmax160.png") ;Stuff to show the Logo fade in and out Delay 500 Blend_Black(logo,0,0,0,1000) time = MilliSecs()+1000 While MilliSecs()<time DrawBlock logo,0,0 Flip Wend Blend_Black(logo,0,0,1,1000) Cls ;while esc. key isn't pressed While Not KeyHit(1) ;program stuff, nothing goes wrong here Wend End Function MainMenu() Cls DrawImage Start,300,125 ;;;;;;;;;;;;;;;;;;Problem is here, image not found result=0 While result=0 mx=MouseX():my=MouseY() If RectsOverlap(300,125,200,100,mx,my,0,0) DrawImage StartOver,300,125 Else DrawImage Start,300,125 ;;;;;;;;;;;;;;;Problem here too, with Start image EndIf Flip Wend End Function Function Blend_Black(image,x,y,mode,time) ;------------------------------------------------------------------ ; Blends an Image with a Black Background (In & Out) ; ----------------------------------------------------------------- ; Image = The Image to Blend ; x = X Coordinate in the Screen ; y = Y Coordinate in the Screen ; 50000 for both to center image ; Mode = 0 Blend In ; = 1 Blend Out ; Time = Time in Milliseconds ;------------------ source = ImageBuffer(image) dest = BackBuffer() maxx = ImageWidth(image)-1 maxy = ImageHeight(image)-1 start = MilliSecs() LockBuffer source If X = 50000 And y = 50000 x = (GraphicsWidth()/2)-(ImageWidth(image)/2) y = (GraphicsHeight()/2)-(ImageHeight(image)/2) EndIf While MilliSecs()-start<time Cls LockBuffer dest count=(count+1) Mod 4 If count=0 Then minx=0: miny=0 If count=1 Then minx=1: miny=1 If count=2 Then minx=1: miny=0 If count=3 Then minx=0: miny=1 If mode=0 Then value=MilliSecs()-start If mode=1 Then value=time-MilliSecs()+start For ii=miny To maxy Step 2 For i=minx To maxx Step 2 rgb=ReadPixelFast(i,ii,source) r=(rgb And $FF0000)/$10000 g=(rgb And $FF00)/$100 b=rgb And $FF rgb=r*value/time*65536+g*value/time*256+b*value/time WritePixelFast x+i,y+ii,rgb,dest Next Next UnlockBuffer dest Flip Wend UnlockBuffer source If mode=0 Then DrawBlock image,x,y If mode=1 Then Color 0,0,0: Rect x,y,maxx+1,maxy+1 Flip End Function |
| ||
Ooops, I forgot to show that I had logo populated... But you where right "start" was overwritten thanks for helpin me out. |