制作国际象棋棋线动画

制作国际象棋棋线动画

我想为国际象棋开局的一条线制作动画,但我发现唯一的方法有点困难或重复,所以我想编写一个允许我这样做的命令。

以下是一个例子:

\newchessgame

\begin{animateinline}[controls,loop]{1}%

\chessboard
\newframe\hidemoves{1.e4}%

\chessboard
\newframe\hidemoves{1... e5}%

\chessboard
\newframe\hidemoves{2. Nc3}%

\chessboard
\newframe\hidemoves{2... Nf6}%

\chessboard
\newframe\hidemoves{3.f4}%

\chessboard
\newframe\hidemoves{3... exf4}%

\chessboard
\end{animateinline} 

我的想法是:

\newcommand{\ChessAnimate}[1]
{
    \begin{animateinline}[controls,loop]{1}%
        \foreach \n in {#1}
        {
        \chessboard
        \newframe
        \mainline{\n}%
        }
    \chessboard
    \end{animateinline}
}

但是它不能编译。另外,我想将移动(现在我隐藏了)与棋盘的位置联系起来。

非常感谢你的帮助。

这是我使用的代码,但无法编译。

\documentclass{article}

\usepackage{pgfplots}

\usepackage[utf8]{inputenc} %Accenti

\usepackage{xskak, chessboard, animate}

\usepackage[italian]{babel}

\usepackage{geometry} %Gestione delle dimensioni del foglio
\setcounter{secnumdepth}{0}
\geometry{
     a4paper,
     total={170mm,250mm},% Spessore e altezza del corpo 
                        %total={larghezza, altezza}
     top=20mm,
 }

\newcommand{\ChessAnimate}[1]
    {
        \begin{animateinline}[controls,loop]{1}%
            \foreach \n in {#1}
            {
            \chessboard
            \newframe
            \mainline{\n}%
            }
        \chessboard
        \end{animateinline}
    }
    
\title{Title} 
\author{Name}
\begin{document}
    \tableofcontents
    \ChessAnimate{1.e4 e5 2.Nc3}
\end{document}

相关内容