Cómo conectar dos rectángulos o, alternativamente, cómo hacer nodos más anchos y más largos que el texto

Cómo conectar dos rectángulos o, alternativamente, cómo hacer nodos más anchos y más largos que el texto

Estoy intentando traducir un gráfico en un libro y necesito conectar algunos rectángulos para hacerlo. Esto es lo que tengo hasta ahora:

ingrese la descripción de la imagen aquí

Como puede ver, la posición de la flecha no es agradable porque las flechas no se conectan a los bordes de los rectángulos. El código que generó este gráfico:

\begin{tikzpicture}
\draw [rounded corners, fill=lightgray] (3,0) rectangle (6,-1) node (1) [pos=.5] {\textit{Output} gráfico} ;

\draw [rounded corners, fill=lightgray] (3,-2.5) rectangle (6,-3.5) node (2) [pos=.5] {\textit{Game Manager}};

\draw [rounded corners, fill=lightgray] (3,-5) rectangle (6,-6) node (3) [pos=.5] {Jogador};

\draw (-0.5,-1) rectangle (2,-2.5) node (4) [pos=.5, align=center] {Descrições de \\ jogos};

\draw (-0.5,-3) rectangle (2,-4.5) node (5) [pos=.5, align=center] {Registro de \\ partidas};

\draw (7,-2.5) rectangle (9,-3.5) node (6) [pos=.5, align=center] {Registro de \\ partidas};

 \draw[black, thick, ->]  (2) --  (1.south);

\end{tikzpicture}

Creo que sería mejor hacer esto con nodos, ya que los nodos se conectan a los bordes, pero no puedo hacer que los nodos se vean como los rectángulos de la imagen de arriba. Son pequeños y no tienen fronteras. He aquí un ejemplo:

ingrese la descripción de la imagen aquí

Y el código que generó el gráfico de arriba:

\begin{tikzpicture}

\node [ rounded corners, fill=lightgray] at (4.5,0) (1) {\textit{Output} gráfico};

\end{tikzpicture}

Entonces mis preguntas son: ¿Cómo puedo conectar dos rectángulos con flechas que comienzan y terminan en los bordes? Si eso no es posible, ¿cómo puedo generar nodos más grandes con bordes visibles (pero el tamaño de fuente sigue siendo el mismo)?

Respuesta1

No tengo tiempo ahora para rehacer todo el MWE, pero el primer rectángulo se puede reemplazar por:

\node (1) [rounded corners, draw, fill=lightgray,minimum width=3cm,minimum height=1cm]
   at (4.5,-.5) {\textit{Output} gr\'afico} ;

Respuesta2

Utilice las claves minimum heighty minimum widthpara el tamaño de los nodos, y utilice la biblioteca positioningpara colocarlos. Luego use estilos para cada tipo de nodo.

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}


\begin{document}

\begin{tikzpicture}[node distance=15 mm and 15 mm,
                    every node/.style={draw},
                    central/.style={fill=lightgray,rounded corners,minimum           
                                    width=3cm,minimum height=1cm},
                    other/.style={text width=2.2 cm,text centered,minimum 
                                  width=2.5cm,,minimum height=1.5cm}]  
\node[central] (output){\textit{Output} gr\'afico};
\node[central] (manager) [below=of output] {\textit{Game Manager}};
\node[central] (jogador) [below=of manager] {Jogador};
\node[text width= 2cm,text centered] [right=of manager] {Registro de \\ partidas};
\node[other,yshift=-1cm] [left=of manager]{Registro de \\ partidas};
\node[other,yshift=1.2cm] [left=of manager]{Descri\c c\=oes de \\ jogos};
\draw[->] (manager)--(output);
\end{tikzpicture}

\end{document}

información relacionada