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 - The_Dragon_Ladis

#1
General / II Salón del Manga de Jaén
28 de Septiembre de 2010, 11:48:17 PM
Creo que lo comenté en mi presentación, pero no necesariamente  lo habréis leído todos.

Soy organizador del II Salón del Manga de Jaén y quisiera hablar de negocios con vosotros  8)

No sé si Stratos sigue siendo una asociación o si los foreros actuáis como si lo fuera, en plan piña, pero igualmente me gustaría saber si estaríais interesados en participar en el evento con algunas charlas o actividades para dar a conoceros y explicar un poco todo este mundo del desarrollo de videojuegos (desde cómo llegar a trabajar hasta los fundamentos básicos de todo videojuego). También puedo ofreceros un stand no comercial para que hagáis publicidad de la asociación, vuestros juegos o academias en las que seáis profes o que os paguen por hacer publicidad, ya como vosotros os lo montéis para de paso sacarle partido a la cosa :P

El evento sería los días 10, 11 y 12 de Diciembre y si estais interesados podeis echar un vistazo a la web y hablamos más seriamente sobre el asunto.

www.salondelmagadejaen.com

Un saludo y a ver si podemos hacer algo interesante ^^
#2
General Programadores / Win32 y mis amigos los botones con icono...
10 de Septiembre de 2010, 02:27:21 AM
Pues eso... tengo un problema para crear botones con iconos o bitmaps. He buscado en internet y cada uno lo hace de una manera distinta, pero el caso es que nunca consigo hacer que funcione.

Esta es la ventana de mi aplicación:


Los tres cuadrados que se ven arriba deberían ser ser tres botones con forma de icono, que serían estos:


El caso es que, como veis, no consigo hacer que se vean los iconos. He probador mil cosas distintas de mil webs, y ninguna termina de funcionar. He probado con archivos de recursos, cargando los iconos directamente con LoadIcon() y LoadImage(), e incluso definiendolos como una ventana más WS_CHILD y añadiendo el stilo BS_ICON, pero claro, según la documentación que hay en MSDN y he leído en Internet, después hay que hacer una llamada a SendMessage() con el tipo de mensaje BM_SETIMAGE, pero tampoco funciona. Llevo toda la noche dandole vueltas y no consigo hacer que funcione. No creo que sea tan difícil hacer un puñetero botón, así que debo estar comprendiendo mal algun concepto o equivocándome en alguna cosa tonta.

// Archivo de recursos

#include <Windows.h>
#include "ids.h"

IDI_TOOLKYENS ICON "images/icons/toolkyens.ico"
IDI_TOOLKYENS_SMALL ICON "images/icons/toolkyens_small.ico"
IDI_SOUNDGEONS ICON "images/icons/soundgeons.ico"
herocreator_ico ICON "images/icons/hero_creator.ico"
worldcraft_ico ICON "images/icons/worldcraft.ico"

IDB_BACKGROUND_INI BITMAP "images/backgrounds/ini.bmp"



//
// Aqui se definen los distintos identificadores
//

#define IDC_INIWND 100

//Iconos
#define IDI_TOOLKYENS 1001
#define IDI_TOOLKYENS_SMALL 1002
#define IDI_SOUNDGEONS 1003

//Fondos
#define IDB_BACKGROUND_INI 1100

//Botones
#define IDB_INIEXIT 1204
#define IDB_INISOUND 1205
#define IDB_INIHERO 1206
#define IDB_INIWORLD 1207



// Area de includes
#include "stdinc.h"
#include "iniWnd.h"

#define MAX_LOADSTRING 100

//Variables globales
HINSTANCE hInst;
TCHAR szTitle[MAX_LOADSTRING];
TCHAR szWindowClass[MAX_LOADSTRING];
HWND hIniWnd;
//Botones
HWND bExit;
HWND bSound;
HWND bHero;
HWND bWorld;

//Iconos
HICON iSound;

UINT horizontalSize;
UINT verticalSize;

//HDC
HDC hdc;

// Area de prototipos
LRESULT CALLBACK iniWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); //Procedimientos de la ventana de Inicio

// Main de la aplicacion

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
//Variables
MSG msg;
WNDCLASSEX winClass;
LOGBRUSH background;

//Usamos hInstance como global
hInst = hInstance;

// Obtenemos los valores de la resolucion actual
hdc = GetDC(hIniWnd);
horizontalSize = GetDeviceCaps(hdc,HORZSIZE);
verticalSize = GetDeviceCaps(hdc,VERTSIZE);

//Cargamos la imagen de fondo
background.lbStyle = BS_PATTERN;
background.lbHatch = (long) LoadImage(hInstance,TEXT("images/backgrounds/ini.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);

//Cargamos los iconos
iSound = (HICON)LoadIcon(hInst,MAKEINTRESOURCE(IDI_SOUNDGEONS));

//Definimos las propiedades de la ventana
winClass.hInstance = hInstance;
winClass.lpszClassName = "Inicio";
winClass.lpfnWndProc = iniWndProc;
winClass.style = CS_HREDRAW | CS_VREDRAW;
winClass.cbSize = sizeof(WNDCLASSEX);
winClass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_TOOLKYENS));
winClass.hIconSm = LoadIcon(NULL, MAKEINTRESOURCE(IDI_TOOLKYENS_SMALL));
winClass.hCursor = LoadCursor(NULL, IDC_ARROW);
winClass.lpszMenuName = NULL;
winClass.cbClsExtra = 0;
winClass.cbWndExtra = 0;
winClass.hbrBackground = CreateBrushIndirect(&background);

//Registramos la vetana
if(!RegisterClassEx(&winClass))
return 0;

//Creamos la Ventana
hIniWnd = IniWndCreate(hInstance,(UINT)horizontalSize/2,(UINT)verticalSize/2,900,400);

//Mostramos la ventana
ShowWindow(hIniWnd,SW_SHOWDEFAULT);
ShowWindow(bExit,SW_SHOWDEFAULT);
UpdateWindow(hIniWnd);


//Bucle de mensajes
while(GetMessage(&msg,NULL,0,0))
{
if(!IsDialogMessage(hIniWnd,&msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

return (int) msg.wParam;

}


//Declaraciones

LRESULT CALLBACK iniWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{

switch (msg)
{

case WM_CREATE:
//TODO: Codigo para los botones

bExit = CreateWindowEx(0,"BUTTON","Salir",
BS_DEFPUSHBUTTON |WS_CHILD | WS_VISIBLE | WS_TABSTOP,
830,370,
50,20,
hWnd,(HMENU)IDB_INIEXIT,hInst,NULL);
bSound = CreateWindowEx(0,"BUTTON","Soundgeon",
WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_ICON,
100,10,
100,100,
hWnd,(HMENU)IDB_INISOUND,hInst,NULL);
SendMessage(hIniWnd,BM_SETIMAGE,IMAGE_ICON,(LPARAM)iSound);

DrawIconEx(hdc,100,25,(HICON)iSound,100,100,0,NULL,DI_NORMAL);

bHero = CreateWindowEx(0,"BUTTON","Hero",
WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_ICON,
400,10,
100,100,
hWnd,(HMENU)IDB_INIHERO,hInst,NULL);

bWorld = CreateWindowEx(0,"BUTTON","Hero",
WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_ICON,
700,10,
100,100,
hWnd,(HMENU)IDB_INIHERO,hInst,NULL);

break;

case WM_DESTROY:
PostQuitMessage(0);
break;

case WM_COMMAND:
switch(wParam)
{
case IDB_INIEXIT:
PostQuitMessage(0);
break;
}

break;

default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}

return 0;
}


Si alguien puede hacerme un resumen o explicación rápida de como crear un botón de tipo icono de alguna de esas tres formas le estaria eternamente agradecido, porque ya estoy picado con el tema, y cuando empiezo a aprender algo puedo pasar horas y horas (mirad las horas que son y voy a acostarme porque tengo que estudiar, sino aquí podría quedarme hasta sacarlo...).

Un saludo amigos ^^
#3
Programación de audio / Problema con alut.dll
19 de Agosto de 2010, 10:53:17 AM
Pues ando trasteando con OpenAL haciendo algunos tutoriales para entender la mecánica, pero tengo el problema de que cuando ejecuto me salta un error diciendo que alut.dll no está en el equipo. Es curioso porque está copiado en system32 (donde se supone que debería estar) e incluso Linkado en el IDE.

Con el resto de librerias no he tenido problemas (OpenAL, OpenGL...) y el proceso es (supuestamente) el mismo.

¿Me estoy dejando algo que mi ignorancia no me deja ver?

Gracias de antemano por la ayuda ^^
#4
General Programadores / ¿Que IDE usais para programar?
18 de Agosto de 2010, 11:10:00 AM
Es una pregunta un poco gilipollas, pero en la Universidad no es que nos enseñen a usar ninguno demasiado bueno... o al menos a mi Eclipse no me gusta nada. Por eso por mi cuenta uso Netbeans, aunque creo que tampoco es el más indicado para videojuegos ya que siempre he visto por Internet que se usa el Visual Studio, pero claro yo ya se configurar mi Netbeans para trabajar con OpenGL, con su autocompletar y al VS no se meterle mano.

¿Que IDE me recomendáis vosotros que entendéis más que un humilde servidor?

Gracias de antemano y perdonad todas mis preguntas de ignorante :P
#5
Principiantes / ¿Como prepararse para trabajar?
17 de Agosto de 2010, 01:59:03 PM
Seguramente alguien ya haya preguntado esto (he visto los post de varios diseñadores gráficos), pero mi pregunta iba más concretamente al caso de alguien que está estudiando la carrera de Informática como yo.

Es decir, yo el dia de mañana termino mi carrera y salgo ahí fuera con unas ganas enormes de trabajar en esto de desarrollar videojuegos, pero... ¿Que hago? Porque claro, tengo conceptos básicos, se como funcionan algunas cosas y he trasteado con OpenGL y varios programas que hacen falta para eso (3D Studio, Photoshop etc...), pero no tengo apenas experiencia en el desarrollo de videojuegos (aunque haya probado varios engines y programado algún que otro jueguecillo con graficos sencillos). ¿Que debería hacer o como debería prepararme a partir de ese punto para poder trabajar desarrollando videojuegos? ¿Quizás un Master como he leído por ahí? ¿Aprender por mi cuenta y desarrollar mis propios juegos como carta de presentación?

Ando un poco perdido en esto y me ayudaría mucho que gente que tenga más experiencia me echara una mano para saber por donde plantear mis futuros estudios.

Gracias de antemano ^^

Pd: Si hay algún post con esta misma pregunta no lo he encontrado, asique redirigid me allí y borrad este.





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.