下面的图像展示了第 2 帧中出现的一个空心圆圈。然后圆圈的颜色在蓝色和红色之间切换。
此演示文稿是使用以下代码制作的。
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}{Frame \thepage}
\[
\begin{tikzpicture}
\draw[
, ultra thick
, visible on=<{2,3,5}>
, fill=blue
, fill on=<{3,5}>
] circle (2cm);
\draw[
, ultra thick
, visible on=<{4, 6}>
, fill=red
, fill on=<{4, 6}>
] circle (2cm);
\end{tikzpicture}
\]
\end{frame}
\end{document}
这里,蓝色圆圈与红色圆圈是分开定义的。我很好奇是否可以通过将所有内容合并为一个\draw
命令来简化此代码。我试过这样做
\draw[
, ultra thick
, visible on=<{2-}>
, fill=blue
, fill on=<{3,5}>
, fill=red
, fill on=<{4, 6}>
] circle (2cm);
但这忽略了所有蓝色圆圈:
我还能做什么吗?
答案1
alt
是的,使用密钥(源自的beamer
命令)可以实现这一点\alt
。
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}{Frame \thepage}
\[
\begin{tikzpicture}
\draw[
, ultra thick
, visible on=<{2-6}>
,alt=<{3,5}>{fill=blue}{fill=red,fill on=<{4, 6}>}
] circle[radius=2cm];
\end{tikzpicture}
\]
\end{frame}
\end{document}
答案2
一种方法是使用preaction
和postaction
选项:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}{Frame \thepage}
\[
\begin{tikzpicture}[ultra thick]
\draw[preaction={fill=blue, visible on=<{3,5}>},
visible on=<2->,
postaction={fill=red, visible on=<{4,6}>}
] circle (2cm);
\end{tikzpicture}
\]
\end{frame}
\end{document}