Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - anonimo12121

#911
Por que se beneficia el puto gobierno antidemocratico que existe.
#912
COn la cantidad de dinero que nos roban que mejoren las infraestructuras y que les jodan.
#913
Windows lo que quiere es facilitar la creación de aplicaciones para todos los hardwares.
#915
www.Hack&Malware.net
#916
Me estoy descargando supreme commander 2.
Cuando lo tenga me pillare los otros. gracias.
#917
Necesito algun juego de estrategia wapo que la IA tenga inteligencia  buena que no sea siempre construir y atacar. que hagan estrategias y esas cosas ...

Me gusta el command and coquer 2 pero la IA es penosa. me recomiendan alguno acepto de todos si es potente en graficos mejor.
SALUDOS.
#918
Buenas a todos, como bien explica el titulo del post quiero hacer una API para uso personal vamos así aumentar mi aprendizaje tambien, lo que quiero hacer básicamente es una interfaz que mediante cortos codigos escrito en mi programa cree un boton, pero no se como hacerlo para que realmente sea óptimo se comunique todo o algo así, no creo que me haya explicado bien xD.

Voy a copiaros un código de lo que he hecho hasta ahora por aburrimiento. ADVIERTO QUE MI CÓDIGO NO SON MUY BUENOS.
Código (cpp) [Seleccionar]
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_ttf.h>
#include <iostream>
#include <fstream>
#define Rojo {255,0,0}
using namespace std;
class interfaz {
   private:
       SDL_Surface *SFuente,*scrd;
       TTF_Font *TTFuente;
       SDL_Color Color;
       SDL_Rect Rect;
       char *Fuente;
       int interruptor;
       int tipo; // 1 boton 2 cuadro de texto
   public:
       interfaz();
       void on();
       void off();
       int MouseOver(SDL_Event evento);
       int MouseClick(SDL_Event evento);
       int Mouse(SDL_Event evento);
       void CargarFuente(char *nombre);
       void ColorBoton(SDL_Surface *screen);
       void TextSelColor(int r,int g,int b);
       void Boton(char *texto,int size,int posx,int posy);
       void Texto(char *texto,int size,int posx,int posy);
       void Act(SDL_Surface *screen);
};
interfaz::interfaz(){
   interruptor=0;
   Color.r=0;
   Color.g=0;
   Color.b=0;
};
void interfaz::on(){
   interruptor=1;
};
void interfaz::off(){
   interruptor=0;
};
int interfaz::MouseOver(SDL_Event evento){
   if((evento.motion.x >= Rect.x-2 && evento.motion.x <= Rect.x+Rect.w+1)
   && (evento.motion.y >= Rect.y-2 && evento.motion.y <= Rect.y+Rect.h+3)){
       on();
       return 1;
   }
   else {
       off();
       return 0;
   }
};
int interfaz::MouseClick(SDL_Event evento){
   if(MouseOver(evento)==1 && evento.button.button == SDL_BUTTON_LEFT){
       return 1;
   }
   else return 0;
};
int interfaz::Mouse(SDL_Event evento){
   if(MouseClick(evento) ==1){
       return 1;
   }
   
   else return 0;
};
void interfaz::CargarFuente(char *nombre){
   Fuente=nombre;
};
void interfaz::ColorBoton(SDL_Surface *screen){
   int r,g,b;
   if(interruptor==1){r=243;g=148;b=0;}
   else {r=0;g=0;b=0;}
   SDL_Rect x;
   x.x=Rect.x-1;
   x.y=Rect.y-1;
   x.w=Rect.w+2;
   x.h=Rect.h+2-(Rect.h/2);
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,223,235,253));
   x.y=x.y+x.h;
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,212,230,255));
   x.x=x.x-1;
   x.y=Rect.y-2;
   x.w=x.w+2;
   x.h=1;
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,r,g,b));
   x.y=Rect.y+Rect.h+3;
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,r,g,b));
   x.x=Rect.x-2;
   x.y=Rect.y-1;
   x.w=1;
   x.h=Rect.h+4;
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,r,g,b));
   x.x=Rect.x+Rect.w+1;
   SDL_FillRect(screen,&x,SDL_MapRGB(screen->format,r,g,b));
};
   
void interfaz::TextSelColor(int r,int g,int b){
   Color.r=r;
   Color.g=g;
   Color.b=b;
};
void interfaz::Boton(char *texto,int size,int posx,int posy){
   tipo=1;
   TTFuente=TTF_OpenFont(Fuente, size);
   SFuente= TTF_RenderText_Blended(TTFuente,texto,Color);
   Rect.x=posx;
   Rect.y=posy;
   Rect.w=SFuente->w;
   Rect.h=SFuente->h;
};
void interfaz::Texto(char *texto,int size,int posx,int posy){
   tipo=2;
   TTFuente=TTF_OpenFont(Fuente, size);
   SFuente= TTF_RenderText_Blended(TTFuente,texto,Color);
   Rect.x=posx;
   Rect.y=posy;
   Rect.w=SFuente->w;
   Rect.h=SFuente->h;
};
void interfaz::Act(SDL_Surface *screen){
   if(tipo==1)ColorBoton(screen);
   SDL_BlitSurface(SFuente,0,screen,&Rect);
};
//lineas rojas///////////
SDL_Rect h={0,0,640,1};
SDL_Rect v={0,0,1,480};
/////////////////////////
//color de fondo
int br=0,bg=220,bb=0;
/////////////////////////
int main(int argc,char *argv[]) {
   //Variables
   SDL_Surface *screen;
   SDL_Event evento;//Estructura evento
   int start;
   SDL_Init(SDL_INIT_VIDEO);
   screen=SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);
   TTF_Init();
   //FUENTE/////////////////////////////////////////////
   interfaz i;
   interfaz i2;
   interfaz i3;
   interfaz i4;
   //i.ini(screen);
   i.TextSelColor(0,0,0);
   i.CargarFuente("LCD.ttf");
   i2.CargarFuente("LCD.ttf");
   i3.CargarFuente("LCD.ttf");
   i4.CargarFuente("arial.ttf");
   i.Boton("Azul",24,50,50);
   i2.Boton("Verde",24,250,50);
   i3.Boton("Cerrar",12,400,400);
   i4.Texto("Texto",12,300,400);
   
   /////////////////////////////////////////////////////
   while(1){
       
       start=SDL_GetTicks();
       if(start%25==0){
           SDL_PollEvent(&evento);//devuelve 0 si no hay eventos
           v.x=evento.motion.x;
           h.y=evento.motion.y;
           if(evento.key.state==SDL_PRESSED){
                   if(evento.key.keysym.sym == SDLK_ESCAPE){
                       return 0;
                   }
           }
           if(i.Mouse(evento) ==1){br=0;bg=0;bb=255;}
           if(i2.Mouse(evento) ==1){br=0;bg=255;bb=0;}
           if(i3.Mouse(evento) ==1)return 0;
           SDL_FillRect(screen,0,SDL_MapRGB(screen->format,br,bg,bb));
           i.Act(screen);
           i2.Act(screen);
           i3.Act(screen);
           i4.Act(screen);
           SDL_FillRect(screen,&h,SDL_MapRGB(screen->format,255,0,0));
           SDL_FillRect(screen,&v,SDL_MapRGB(screen->format,255,0,0));
           SDL_Flip(screen);
       }
   }
   return 0;
}


Esto es lo que llevo hasta el momento paso a explicar directamente el main() y ya me decis vuestra opinión.


Las lineas siguientes son para crear objetos.
Código (cpp) [Seleccionar]
interfaz i;
   interfaz i2;
   interfaz i3;
   interfaz i4;

Esta linea es para darle color al texto
Código (cpp) [Seleccionar]
i.TextSelColor(0,0,0);
Estas lineas son para cargar la fuente de texto de cada objeto
Código (cpp) [Seleccionar]
i.CargarFuente("LCD.ttf");
   i2.CargarFuente("LCD.ttf");
   i3.CargarFuente("LCD.ttf");
   i4.CargarFuente("arial.ttf");

Estas lineas son para crear un boton y un texto.
Código (cpp) [Seleccionar]
i.Boton("Azul",24,50,50);
   i2.Boton("Verde",24,250,50);
   i3.Boton("Cerrar",12,400,400);
   i4.Texto("Texto",12,300,400);

y las lineas similares a
Código (cpp) [Seleccionar]
i.Mouse(evento)
Son para devolver información sobre el estado del raton
A y las estas son para visualizar el objeto
Código (cpp) [Seleccionar]
i.Act(screen);



Paso a decir un poco sobre algunas funciones de la clase.
esta funcion devuelve un valor si esta el raton encima del objeto.
Código (cpp) [Seleccionar]
MouseOver
Y esta funcion devuelve un valor si el raton a pulsado click izquierdo encima del objeto.
Código (cpp) [Seleccionar]
MouseClick




Me gustaría que me dierais vuesta opinión y tantos consejos como pudieran ser para aprender para próximas cosas.
Saludos
#919
Cita de: Randomize en 30 Junio 2011, 14:26 PM
Ya m'an pillao  :-X
Tú no eres capaz de hacer ni un keylogger ¬¬!
#920
Cita de: WHK en 29 Junio 2011, 14:18 PM
Yahoo messenger también permite videoconferencias y llamadas a teléfonos y es mucho mas fácil de usar, tiene chat y para mi la calidad de audio y video es mucho mejor y no es de microsoft.
Pero skype esta super wapo.