Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Preguntas de novato

Iniciado por predator, 20 de Marzo de 2008, 12:13:05 AM

« anterior - próximo »

predator

Tengo tiempo programando en VB 6.0, estoy ahora intentando de hacer mi propio juego con graficas, y me encanto esta libreria, lo que intento hacer es un tipo de rpg, lo que intento ahora es mostrar un pequeño mapa de 100x100 SQM, donde cada SQM es un sprite de 32x32 pixeles, se como cargar las imagenes como separarlas en regiones, pero lo que no entiendo aun es como mostrarlas en el lugar correcto.

[EX3]

Cita de: "predator"lo que no entiendo aun es como mostrarlas en el lugar correcto.
No entiendo. Te refieres a como armar un mapa de tiles? un scroll?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

predator

para empezar quiero hacer el mapa de tiles y estudiarlo bien, para no batallar despues.

EDIT:
es decir, tengo que cargar tile por tile o existe una manera automatica de cargarlos segun algun archivo externo donde este todo?

[EX3]

Me temo que tocaria implementarte tu mismo el mapa de tiles :? dx_lib32 no ofrece ningun motor de tiles ni nada parecido.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

predator

Private Sub Form_Load()
'Mostramos la ventana:
Me.Show

'Inicializamos la clase y el modo de video a 640x480 en modo ventana:
Call m_gfx.Init(Me.hWnd, 640, 480, , True)
'cargamos todos los sprites
piso = m_gfx.MAP_Load(App.Path & "\2.bmp", 0)

Map = m_gfx.MAP_Create(800, 600)
Target = m_gfx.TARGET_Create(Map)
Dim i As Integer
Call m_gfx.TARGET_Open(Target)
For i = 0 To 10
   Call m_gfx.DRAW_Map(piso, i * 32, 0, 0, 0, 0)
Next
Call m_gfx.TARGET_Close

Looping = True

Do While Looping
   Call m_gfx.DRAW_Map(Map, 0, 0, 0, 0, 0)
   'Ejecutamos las llamadas de la clase grafica:
   Call m_gfx.Frame
Loop

'Terminamos la ejecucion de la clase:
Call m_gfx.Terminate

'Destruimos la instancia de la clase:
Set m_gfx = Nothing

End
eso pero me hace mas pequeño los tiles :S
2.bmp es un tile

[EX3]

Recuerda que estas trabajando con texturas y si las texturas que creas no tienen un tamaño potencia de 2 la grafica la reescalara al tamaño potencia 2 mas adecuado. En este caso tu renderTarget de 800x600 en memoria es realmente de  1024x1024.

Yo te diria que dibujaras lo tiles en la escena directamente sin usar el RenderTarget, te sera mas facil de trabajar luego mas adelante si vas hacer scrolls y demas historias a parte que podras optimizar mas al dibujar solo que necesites mostrar en pantalla y no todo el mapeado. Crear una textura con todo el mapa no solo no seria optimo para rendimiento al tratar de dibujar una textura tan grande en pantalla si no que consumirias mucha memoria de la tarjeta sumando a esto que muchas tarjetas antiguas no superan el limite de tamaño de textura de 1024x1024.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






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.