DrawText FastImage
Blitz3D Forums/Blitz3D Programming/DrawText FastImage
| ||
Function Opciones_Video() Local MX=MouseX(),MY = MouseY() If Tipo_Pantalla = 1 Local PYMarco = 550 Local PYRePa = 480 Local PYTN = 450 Local PYFlechas = 470 Else PYMarco = 625 PYRePa = 550 PYTN = 520 PYFlechas = 543 End If StartDraw SetAlpha .6 ;----------------------------- ; Marco Fondo Menu ;----------------------------- DrawImageEx Marco1,GraphicsWidth()-490,GraphicsHeight()-PYMarco SetAlpha 1 ;----------------------------- ; Rotulos Informativos Menu ;----------------------------- DrawText ("RESOLUCION PANTALLA",GraphicsWidth()-25,GraphicsHeight()-PYRePa,100,100) If Tipo_Pantalla = 1 DrawText ("800 x 600",GraphicsWidth()-65,GraphicsHeight()-PYTN,100,100) If Tipo_Pantalla = 2 DrawText ("1024 x 768",GraphicsWidth()-60,GraphicsHeight()-PYTN,100,100) DrawText("GAMMA",GraphicsWidth()-80,GraphicsHeight()-PYTN+30,100,100) DrawText(n/10+"%",GraphicsWidth()-93,GraphicsHeight()-PYTN+50,100,100) DrawText("ANTIALIAS",GraphicsWidth()-135,GraphicsHeight()-PYTN+135) DrawText("TURBO",GraphicsWidth()-135,GraphicsHeight()-PYTN+164) DrawText("CALIDAD SOMBRAS",GraphicsWidth()-40,GraphicsHeight()-PYTN+80,100,100) If Calidad = 0 DrawText("BAJA",GraphicsWidth()-85,GraphicsHeight()-PYTN+110,100,100) If Calidad = 1 DrawText("MEDIA",GraphicsWidth()-85,GraphicsHeight()-PYTN+110,100,100) If Calidad = 2 DrawText("ALTA",GraphicsWidth()-85,GraphicsHeight()-PYTN+110,100,100) If Calidad = -1 DrawText("SIN SOMBRAS",GraphicsWidth()-57,GraphicsHeight()-PYTN+110,100,100) DrawRect (GraphicsWidth()-172,GraphicsHeight()-PYTN+195,150,75,0) SetScale .5,.5 ;----------------------------- ; Flechas -Mouse Move- R. ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas,B_Derecho,255) = False DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas) ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas,B_Derecho,255) = True SetColor 255,0,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Valores Altos mejoran la calidad gráfica y se puede afectar el rendimiento",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas,B_Izquierdo,255) = False DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas) ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas,B_Izquierdo,255) = True SetColor 255,0,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Valores Bajos aumentan el rendimiento, y afectan la calida gráfica.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If ;----------------------------- ; Flechas -Click Mouse- R. ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas,B_Derecho,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas,B_Derecho,255) And MouseDown(1) = False And Estado = True Estado = True If Tipo_Pantalla = 1 Tipo_Pantalla = 2 Alto_Pantalla = 768 Ancho_Pantalla = 1024 Profundidad_Pantalla = 0 Else Tipo_Pantalla = 1 Alto_Pantalla = 600 Ancho_Pantalla = 800 Profundidad_Pantalla = 32 End If CambiandoR = True PlaySound (Sonido_Click) Actualizar() End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas,B_Izquierdo,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas,B_Izquierdo,255) And MouseDown(1)= False And Estado = True Estado = False If Tipo_Pantalla = 2 Tipo_Pantalla = 1 Alto_Pantalla = 600 Ancho_Pantalla = 800 Profundidad_Pantalla = 0 Else Tipo_Pantalla = 2 Alto_Pantalla = 768 Ancho_Pantalla = 1024 Profundidad_Pantalla = 0 End If PlaySound (Sonido_Click) Actualizar() CambiandoR = True End If ;----------------------------- ; Flechas -Mouse Move- Gamma. ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50,B_Derecho,255) = False DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50) ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50,B_Derecho,255) = True SetColor 255,0,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Aumenta el brillo de la pantalla, estableciendo parametros a su gusto.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50,B_Izquierdo,255) = False DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50) ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50,B_Izquierdo,255) = True SetColor 255,0,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Disminuye el brillo de la pantalla, por si cree que esta muy brillante.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If ;----------------------------- ; Flechas -Click Mouse- Gamma. ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50,B_Derecho,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+50,B_Derecho,255) And MouseDown(1) = False And Estado = True Estado = True PlaySound (Sonido_Click) n=n+10 Actualizar() End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50,B_Izquierdo,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+50,B_Izquierdo,255) And MouseDown(1)= False And Estado = True Estado = False PlaySound (Sonido_Click) n=n-10 Actualizar() End If ;----------------------------- ; Flechas -Mouse Move- Sombras. ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110,B_Derecho,255) = False DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110) ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110,B_Derecho,255) = True SetColor 255,0,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Entra mas alta mas detalle de la Sombra, puede afectar el rendimiento.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110,B_Izquierdo,255) = False DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110) ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110,B_Izquierdo,255) = True SetColor 255,0,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110) SetColor 255,255,255 SetScale 1,1 DrawTextRect ("Entre mas baja menos detalle de la Sombra. Esto aumenta el rendimiento.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) SetScale .5,.5 End If ;-------------------------------- ; Flechas -Click Mouse- Sombras. ;-------------------------------- If TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110,B_Derecho,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Derecho,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-50,GraphicsHeight()-PYFlechas+110,B_Derecho,255) And MouseDown(1) = False And Estado = True Estado = True Calidad = Calidad +1 If Calidad => 2 Calidad = 2 CambiandoS = True Actualizar() PlaySound (Sonido_Click) End If If TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110,B_Izquierdo,255) And MouseDown(1) SetColor 0,255,0 DrawImageEx (B_Izquierdo,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110) Estado = True SetColor 255,255,255 ElseIf TestImage(MX,MY,GraphicsWidth()-180,GraphicsHeight()-PYFlechas+110,B_Izquierdo,255) And MouseDown(1)= False And Estado = True Estado = False Calidad = Calidad - 1 If Calidad < -1 Calidad = -1 CambiandoS = True Actualizar() PlaySound (Sonido_Click) End If ;----------------------------- ; Opcion AntiAlias ;----------------------------- SetScale .6,.6 If AAlias = False DrawImageEx(Opcion,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153) If AAlias = True DrawImageEx(Opcion1,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153) If Turbo = True DrawImageEx(Opcion,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183) If Turbo = False DrawImageEx(Opcion1,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183) ;----------------------------- ; Estableciendo AntiAlias ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153,Opcion,255) And MouseDown(1) Estado = True ElseIf TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153,Opcion,255) And MouseDown(1)= False And Estado = True And AAlias = False Estado = False AAlias = True Actualizar() PlaySound (Sonido_Click) End If ;----------------------------- ; Desactivando AntiAlias ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153,Opcion1,0) And MouseDown(1) Estado = True ElseIf TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153,Opcion1,0) And MouseDown(1)= False And Estado = True And AAlias = True Estado = False AAlias = False Actualizar() PlaySound (Sonido_Click) End If ;----------------------------- ; Mose Move Antialias ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+153,Opcion1,0) SetScale 1,1 DrawTextRect ("Alisa los bordes dentados. Si la configuracion de Harware lo permite.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) End If ;----------------------------- ; Estableciendo Turbo ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183,Opcion,255) And MouseDown(1) Estado = True ElseIf TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183,Opcion,255) And MouseDown(1)= False And Estado = True And Turbo = True Estado = False Turbo = False Actualizar() PlaySound (Sonido_Click) End If ;----------------------------- ; Desactivando Turbo ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183,Opcion1,0) And MouseDown(1) Estado = True ElseIf TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183,Opcion1,0) And MouseDown(1)= False And Estado = True And Turbo = False Estado = False Turbo = True Actualizar() PlaySound (Sonido_Click) End If ;----------------------------- ; Mouse Move Turbo ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-175,GraphicsHeight()-PYFlechas+183,Opcion,255) SetScale 1,1 DrawTextRect ("Como última alrternativa en caso de bajo rendimiento, active el turbo.",GraphicsWidth()-170,GraphicsHeight()-PYTN+200,150,1,4,0) End If SetScale 1,1 ;----------------------------- ; Boton Rregresar Mouse Move ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270,Boton_Regresar,255) = False DrawImageEx(Boton_Regresar,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270) ElseIf TestImage(MX,MY,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270,Boton_Regresar,255) = True DrawImageEx(Boton_RegresarV,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270) End If ;----------------------------- ; Boton Rregresar Click ;----------------------------- If TestImage(MX,MY,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270,Boton_Regresar,255) And MouseDown(1) DrawImageEx(Boton_RegresarV1,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270) Estado = True ElseIf TestImage(MX,MY,GraphicsWidth()-160,GraphicsHeight()-PYFlechas+270,Boton_Regresar,255) And MouseDown(1)= False And Estado = True Estado = False PlaySound (Sonido_Click) Menu = 2 End If EndDraw If n => 100 n = 100 If n <= -100 n = -100 Mouse() End Function Hi, I have a problem, the above function creates a menu of options and I'm using DrawText to display informational signs. Particularly at the start goes well, the problem is that after entering the level 1 and return to the main menu to do this about four times, Menu Level 1 Menu Tier 1 star and get this. So it runs three or four times without problems and is not it may be. to remove all functions DrawText and DrawtextRect. Works fine. |