Re: animazioni cancellare il frame precedente

#69875
claudio
Partecipante
    Up
    0
    Down
    ::


    forse ho risolto
    non mi pare elegante ma credo che funzioni
    `
    \documentclass[10pt,a4paper]{article}
    \usepackage[latin1]{inputenc}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}

    \usepackage{animate}
    \usepackage{graphicx}
    \usepackage{pgf,tikz}
    \begin{document}
    \begin{animateinline}[
    begin={
    \begin{tikzpicture}[scale=0.6]\clip (-0.6,-0.2) rectangle (15.5,7);
    },
    end={\end{tikzpicture}},controls,timeline=time2.txt]{1}
    \fill[black] node at (0,3) {$\bullet$};
    \fill[black] node at (2,6) {$\bullet$};
    \fill[black] node at (2,0) {$\bullet$};
    %1
    \draw (0,3) — (2,6) — (2,0) — cycle;
    %6
    \fill[black] node at (9,0) {$\bullet$};
    \fill[black] node at (15,0) {$\bullet$};
    \fill[black] node at (12,2) {$\bullet$};
    \draw (9,0) — (15,0) — (12,2) — cycle;
    \newframe
    \draw (3,3) — (5,0) — (5,6) — cycle;
    \newframe
    \fill[white] (-0.6,-0.2) rectangle (15.5,7);
    \fill[black] node at (0,3) {$\bullet$};
    \fill[black] node at (2,6) {$\bullet$};
    \fill[black] node at (2,0) {$\bullet$};
    %1
    \draw (0,3) — (2,6) — (2,0) — cycle;
    %6
    \fill[black] node at (9,0) {$\bullet$};
    \fill[black] node at (15,0) {$\bullet$};
    \fill[black] node at (12,2) {$\bullet$};
    \draw (9,0) — (15,0) — (12,2) — cycle;
    \draw (6,3) — (8,0) — (8,6) — cycle;
    \newframe
    \fill[white] (-0.6,-0.2) rectangle (15.5,7);
    \fill[black] node at (0,3) {$\bullet$};
    \fill[black] node at (2,6) {$\bullet$};
    \fill[black] node at (2,0) {$\bullet$};
    %1
    \draw (0,3) — (2,6) — (2,0) — cycle;
    %6
    \fill[black] node at (9,0) {$\bullet$};
    \fill[black] node at (15,0) {$\bullet$};
    \fill[black] node at (12,2) {$\bullet$};
    \draw (9,0) — (15,0) — (12,2) — cycle;
    \draw (9,3) — (15,3) — (12,5) — cycle;
    \newframe
    \fill[white] (-0.6,-0.2) rectangle (15.5,7);
    \fill[black] node at (0,3) {$\bullet$};
    \fill[black] node at (2,6) {$\bullet$};
    \fill[black] node at (2,0) {$\bullet$};
    %1
    \draw (0,3) — (2,6) — (2,0) — cycle;
    %6
    \fill[black] node at (9,0) {$\bullet$};
    \fill[black] node at (15,0) {$\bullet$};
    \fill[black] node at (12,2) {$\bullet$};
    \draw (9,0) — (15,0) — (12,2) — cycle;
    \draw (9,1) — (15,1) — (12,3) — cycle;
    \newframe
    \fill[white] (-0.6,-0.2) rectangle (15.5,7);
    \fill[black] node at (0,3) {$\bullet$};
    \fill[black] node at (2,6) {$\bullet$};
    \fill[black] node at (2,0) {$\bullet$};
    %1
    \draw (0,3) — (2,6) — (2,0) — cycle;
    %6
    \fill[black] node at (9,0) {$\bullet$};
    \fill[black] node at (15,0) {$\bullet$};
    \fill[black] node at (12,2) {$\bullet$};

    \draw (9,0) — (15,0) — (12,2) — cycle;
    \end{animateinline}
    \end{document}
    `
    per un’animazione semplice così si tratta di ripetere poche righe di codice ma se la scena è più complessa come si fa?

    in pratica bisognerebbe definire un nuovo comando che ridisegni la scena di base
    [code]
    \inizio
    \disegna_scena_sfondo
    \newframe
    \disegna_scena_sfondo
    \disegna_elemento_in_movimento
    \newframe
    \disegna_scena_sfondo
    \disegna_elemento_in_movimento
    \newframe
    \disegna_scena_sfondo
    \disegna_elemento_in_movimento
    \newframe
    …..

    \fine
    [\code]

    in pratica come si definiscono i comandi in tikz?

    Go to top