Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Temas - divmas

#1
Proyecto dx_lib32 / Memoria
10 de Noviembre de 2016, 11:25:27 AM
Hola a todos!

He decidido retomar un proyecto que inicié hace años con esta librería.... y qué abandoné por el mismo motivo que me ocurre de nuevo: soy incapaz de gestionar los recursos en memoria. No se estabiliza el consumo de memoria y va en aumento poco a poco.  Os dejo el código:

Option Strict Off
Option Explicit On
Friend Class Form1
    Inherits System.Windows.Forms.Form


    Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

        Me.Show()
        Graphics = New dx_lib32.dx_GFX_Class
        MainLoop = Graphics.Init(Me.Handle.ToInt32, 900, 500, 32, True)

        Do While MainLoop

            Select Case Estados
                Case 0 : CargarRecursos()
                Case 1 : BuclePrincipal()
            End Select

        Loop

    End Sub

    Private Sub Form1_FormClosed(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        MainLoop = False
        Graphics.Terminate()
        Graphics = Nothing
    End Sub

   

    Private Sub BuclePrincipal()
        nJuego.Update()
        nJuego.Draw()
    End Sub

End Class


Module programa

    Public Graphics As dx_lib32.dx_GFX_Class
    Public MainLoop As Boolean
    Public Estados As Integer = 0
    Public TexturaPista As Integer
    Public nJuego As New juego

    Public Sub CargarRecursos()
        TexturaPista = Graphics.MAP_Load("fondo.jpg", 0)
        Estados = 1
    End Sub

End Module


Public Class juego

    Public Sub Update()

    End Sub

    Public Sub Draw()

        Graphics.DRAW_Map(TexturaPista, 0, 0, 0, 0, 0)
        Graphics.Frame()

    End Sub

End Class


Seguramente debo ser un nefasto programador... Alguien me ayuda? Gracias!!!
#2
Proyecto dx_lib32 / juego con muchas pantallas
22 de Marzo de 2011, 12:36:04 AM
Hola,

está claro que la libreria está diseñada para trabajar en una única ventana, así que mi duda es: se puede hacer un juego que requiere de muchas pantallas(ventanas) diferentes?

como se implementaria?

Gracias
#3
Proyecto dx_lib32 / gestión de los recursos
12 de Marzo de 2011, 07:25:59 PM
Buenas,

tengo una duda, de que manera puedo gestionar esos recursos que van cambiando en memoria y que no podria cargarlos de antemano en memoria.

Me explico, resulta que quiero ir mostrando una serie una de fotos que iran cambiando "en directo", habia probado de irlos cargando, mostrarlos y despues descargarlos con m_gfx.MAP_Unload(foto), al principio el sistema se muestra estable y no consume recursos pero con el tiempo, mucho tiempo por cierto, la memoria va aumentando en consumo y dejan de mostrarse por falta de recursos.

Gracias.
#4
Proyecto dx_lib32 / antialiasing en dibujado de fuentes
09 de Marzo de 2011, 07:11:17 PM

Es posible dibujar las fuentes en antialiasing?

he visto que existe la funcion DEVICE_SetAntialiasing() pero no he notado efecto alguno....
según la documentación: Activa o desactiva el suavizado de contorno de píxeles en las operaciones de dibujo de primitivas.

Gracias.
#5
Proyecto dx_lib32 / mover un objeto
08 de Marzo de 2011, 06:06:29 PM
Buenas,

estoy tratando de hacer una clase que me permita mover un objeto que está compuesto por una imagen y un texto.

Ésta es la clase que tengo hecha que entiendo tiene lógica pero que no realiza bien lo que quiero:

Código (vbnet) [Seleccionar]
Public Class ficha

    Private top As Long, left As Long
    Private texto As String
    Private rec_zona_impacto As GFX_Rect
    Private fnt_system1 As Long
    Private gfx_ficha As Long

    Public Sub New()
        fnt_system1 = m_gfx.FONT_LoadSystemFontFromFile("fonts\proman10.ttf", "proman", 8, False, False, False, False)
        gfx_ficha = m_gfx.MAP_Load("img\ficha.png", 0)
    End Sub

    Public Sub posicionar(ByVal x As Long, ByVal y As Long)
        top = y : left = x
        nueva_zona_impacto()
    End Sub

    Public Sub draw(ByVal texto As String)
        m_gfx.DRAW_Map(gfx_ficha, left, top, -8, 0, 0)
        m_gfx.DRAW_Text(fnt_system1, texto, left, top + 35, -8, m_gfx.ARGB_Set(255, 0, 0, 0), Text_Align.Align_Left)

        'update

        If m_system.MATH_PointInRect(m_input.Mouse.X, m_input.Mouse.Y, rec_zona_impacto) Then

            Cursor.Current = Cursors.Hand

            If HitEvent.Mouse_Hit(Mouse_Button.Left_Button) And m_input.Mouse_Press = 1 Then

                left = m_input.Mouse.X
                top = m_input.Mouse.Y
                m_gfx.DRAW_Map(gfx_ficha, left, top, -8, 0, 0)
                m_gfx.DRAW_Text(fnt_system1, texto, left, top + 35, -8, m_gfx.ARGB_Set(255, 0, 0, 0), Text_Align.Align_Left)
                nueva_zona_impacto()

            End If

        End If

    End Sub
    Private Sub nueva_zona_impacto()
        rec_zona_impacto.X = left : rec_zona_impacto.Y = top
        rec_zona_impacto.Width = 30 : rec_zona_impacto.Height = 30
    End Sub
    Protected Overrides Sub Finalize()
        MyBase.Finalize()

        m_gfx.FONT_UnloadSystemFont(fnt_system1)
        m_gfx.MAP_Unload(gfx_ficha)

    End Sub



End Class


Alguien podria ayudarme a encontrar donde fallo.

Gracias
#6
Proyecto dx_lib32 / botones, timer...
05 de Marzo de 2011, 06:23:54 PM
Muy buenas,

antes de nada felicitar a EX3 por esta gran libreria.

Os explico mi problema. Estoy desarrolando una aplicación en vb .net, tengo una clase boton que detecta los hits del raton y llama:

    Public Event click_derecho()
    Public Event click_izquierdo()

pues bien, en el form principal es donde defino los eventos cuando se clica pero me he encontrado con el problema (despues de leer varios mensajes) que si no es con un timer los clicks no los detecta correctamente.

Entonces mi pregunta es:

como hago para enlazar esa clase boton con el timer para que los hits los detecte correctamente.

No sé si me he explicado bien.

Gracias de antemano







Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.