我使用以下代码通过 beamer 创建覆盖层
\tikzset{
invisible/.style={opacity=0},
visible on/.style={alt={#1{}{invisible}}},
alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
},
}
它工作得很好,除非需要在要覆盖的路径中使用不透明度。
\scoped[visible on=<2->]{\filldraw[shade, opacity=.5, color=red] (0,1) rectangle (0,0);}
由于路径本身的不透明度参数,此矩形不起作用。因此,此矩形始终显示在所有叠加层中。
有什么解决方法吗?
谢谢
答案1
\transfade
这是带有和 的MWE \onslide
。它仅在全屏模式下有效。
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\transfade
\begin{tikzpicture}
\onslide<2->{
\filldraw[shade, opacity=.5, color=red] (1,1) rectangle (0,0);
}
\end{tikzpicture}
\end{frame}
\end{document}