Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Funciones usando SDL

35 views
Skip to first unread message

Rafael Muñoz

unread,
Jan 7, 2008, 4:53:16 PM1/7/08
to SDL en Español
Hay alguna manera de crear una funcion que cree un rectángulo de una
forma visualmente más elegante, y que perdure fuera de la función. Me
explico un rectangulo se declara escribiendo SDL_Rect nombre, y luego
se modifica su x, y, w y h. Hay alguna forma de crear una función del
tipo SDL_Rect(x,y,w,h) que asigne directamente los valores. Es para
que se lea mejor el programa, ams que nada.

Otra pregunta que no tiene nada que ver, se pueden utilizar
contenedores del tipo vector e iteradores mientras se usa SDL. Esque
intente usarlo para un programa y me decía que una funcion que se
llama. random_shuffle() que he usado para otros programas no existe.

Gracias de antemano, un saludo.

Cristian Segura

unread,
Jan 8, 2008, 10:07:53 AM1/8/08
to SDL en Español
Raul:

Ahi envio una funcion que setea los valores de posición, alto y ancho
del rectángulo ( SetRectang).
La funcion CreateRectang retorna un puntero a un rectángulo creado en
forma dinámica
y utiliza la función anterior para setear sus valores.

============================================================

#include(SDL/SDL.h)

void SetRectang(&rect, int x, int y, int w, int h);
SDL_Rect *CreateRectang( int x, int y, int w, int h);

int main(int argc, *argv[])
{
// Declaramos el rectángulo
SDL_Rect rect_01;
SDL_Rec *rect_aux; //puntero que almacena la direccion del nuevo
rectangulo
// valores para el rectangulo
int x = 100;
int y = 100;
int width = 60;
int height = 60;

//Invocamos a la función que setea un rectángulo
SetRect(&rect_01, x, y, width, height);

//Invocamos la función que crea (e internamente) setea un rectángulo
rect_aux = CreateRectang( int x, int y, int w, int h);


//...Resto del programa
return 0;
}

void SetRectang(&rect, int x, int y, int w, int h)
{
rect->x = x;
rect->y = y;
rect->w = w;
rect->h = h;
}

SDL_Rect * CreateRectang( int x, int y, int w, int h)
{
SDL_Rect *temp;
temp = (SDL_Rect*) malloc(sizeof(SDL_Rect)); //pide espacio en
memoria para un rectángulo
SetRect(&temp, x, y, w, h);
return temp
}

====================================================
No lo he probado en un compilador pero debería funcionar...

La el re


Atte.
Cristian Segura
Reply all
Reply to author
Forward
0 new messages