Herramientas de usuario

Herramientas del sitio


rf_process

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
rf_process [2022/05/05 16:47]
yawin creado
rf_process [2023/08/07 06:54] (actual)
yawin
Línea 9: Línea 9:
 | signal | unsigned int | [[RF_Signal | Estado]] en el que se encuentra el proceso | | signal | unsigned int | [[RF_Signal | Estado]] en el que se encuentra el proceso |
 | type | string | Tipo de proceso | | type | string | Tipo de proceso |
-| transform | [[Transform2D | Transform2D<​int,​float,​float>​]] | Posición, rotación y escala del proceso |+| transform | [[Transform2D | Transform2D<​float,​float,​float>​]] | Posición, rotación y escala del proceso |
 | zLayer | int | Altura de capa en la que se posiciona el proceso | | zLayer | int | Altura de capa en la que se posiciona el proceso |
 | flipType | SDL_RendererFlip | Flag de renderizado de SDL | | flipType | SDL_RendererFlip | Flag de renderizado de SDL |
Línea 24: Línea 24:
 | LateDraw | Función que se invoca durante el proceso de renderizado,​ después de ordenar los procesos para dicha tarea pero antes de renderizarlos | | LateDraw | Función que se invoca durante el proceso de renderizado,​ después de ordenar los procesos para dicha tarea pero antes de renderizarlos |
 | AfterDraw | Función que se invoca durante el proceso de renderizado,​ tras renderizar el proceso | | AfterDraw | Función que se invoca durante el proceso de renderizado,​ tras renderizar el proceso |
 +| Dispose | Función que se invoca al destruir el proceso |
  
 +> Opcionalmente,​ al invocar al constructor de RF_Process en la declaración del constructor que lo hereda, se puede porporcionar un string que representa el type del proceso. Si no se proporciona ningun type, éste tomará el valor "​null"​.
  
 +
 +===== Ejemplos =====
 +<code cpp>
 +class exeProcess : public RF_Process
 +{
 +    public:
 +        exeProcess():​RF_Process("​exeProcess"​){}
 +        virtual ~exeProcess();​
 +
 +        virtual void Update()
 +        {
 +            if(RF_Engine::​instance->​key[_esc] || RF_Engine::​instance->​key[_close_window])
 +            {
 +                RF_Engine::​instance->​isRunning(false);​
 +            }
 +        }
 +}
 +</​code>​
 +
 +----
 +===== rf_process.h =====
 <code cpp>​class RF_Process <code cpp>​class RF_Process
 { {
   public:   public:
-    RF_Process(string _type="​null", string _father="​", RF_Window *_window = nullptr) +    RF_Process(string _type="​null",​ RF_Window *_window = nullptr); 
-    ​+    ​virtual ~RF_Process();
-      type=_type;​ +
-      father=_father;​ +
-      graph=NULL;​ +
-      window = _window;+
  
-      transform.position = RF_Structs::​Vector2<​int>​(0,0); +    virtual void Start(); 
-      ​transform.scale = RF_Structs::​Vector2<​float>​(1.0,1.0); +    ​virtual void Update(); 
-      ​transform.rotation = 0+    ​virtual void FixedUpdate()
-    ​}+    ​virtual void Draw(); 
 +    virtual void LateDraw();​ 
 +    virtual void AfterDraw();​ 
 +    virtual void Dispose();
  
-    ​virtual ~RF_Process(){} +    /**Propiedades******/
- +
-    virtual void Start(){return;​} +
-    virtual void Update(){ return;} +
-    virtual void FixedUpdate(){ return;} +
-    virtual void Draw(){ return;} +
-    virtual void LateDraw(){ return;} +
-    virtual void AfterDraw(){return;​} +
-    virtual void Dispose(){return;​} +
- +
-    ​/**Atributos******/+
       string id, father;       string id, father;
       unsigned int signal = RF_Structs::​S_AWAKE;​       unsigned int signal = RF_Structs::​S_AWAKE;​
       string type="";​       string type="";​
       SDL_Surface *graph;       SDL_Surface *graph;
-      RF_Structs::​Transform2D<​int, float, float> transform;+      RF_Structs::​Transform2D<​float, float, float> transform;
       int zLayer = -1;       int zLayer = -1;
       SDL_RendererFlip flipType = FLIP_NONE;       SDL_RendererFlip flipType = FLIP_NONE;
-      RF_Window *window; 
     /​*******************/​     /​*******************/​
 +
 +    RF_Window *window;
  
     bool operator<​(const RF_Process* p) const;     bool operator<​(const RF_Process* p) const;
     SDL_Rect getDimensions();​     SDL_Rect getDimensions();​
-    ​virtual SDL_Rect normalizeBounds(const SDL_Rect&​ rect);+    ​RF_Structs::​Vector2<​int>​ checkPoint(RF_Structs::​Vector2<​int>​ p); 
 +    RF_Structs::​Vector2<​int>​ checkPoint(int p_x, int p_y);
 };</​code>​ };</​code>​
rf_process.1651769256.txt.gz · Última modificación: 2022/12/06 00:03 (editor externo)