Menu iconMenu icon
Fundamentos de la animación web con GSAP

Capítulo 7: Proyectos del mundo real con GSAP

7.2 Proyecto: Presentación Interactiva de Productos

Objetivo: Desarrollar una presentación interactiva de productos para el lanzamiento de un nuevo producto de una empresa tecnológica ficticia. La presentación incluirá animaciones que respondan a las interacciones del usuario, destacando diferentes características del producto.

7.2.1 Desglose del Proyecto

1. Concepto del Proyecto

  • Una página de aterrizaje que presenta un nuevo teléfono inteligente.
  • Animaciones para resaltar características a medida que el usuario desplaza.
  • Elementos interactivos que responden a la interacción del usuario, como el hover y el clic.

2. Herramientas y Recursos

  • GSAP para animaciones.
  • Plugin ScrollTrigger para animaciones basadas en el desplazamiento.
  • HTML/CSS básico para la estructura y estilos de la página web.
  • Imágenes o gráficos SVG para el teléfono inteligente y las características.

3. Pasos de Implementación

  • Paso 1: Estructura de la Página Web
    • Crear un diseño HTML básico con un encabezado, secciones para cada característica del producto y un pie de página.
  • Paso 2: Estilos Básicos
    • Utilizar CSS para diseñar el diseño, centrándose en un diseño moderno y limpio adecuado para mostrar un producto tecnológico.
  • Paso 3: Agregar Animaciones GSAP
    • Implementar animaciones GSAP para el encabezado y las secciones de características. Estas podrían incluir la entrada deslizante de la imagen del producto, la aparición de los elementos de texto y la animación de los íconos de características en su lugar.
  • Paso 4: Integración de ScrollTrigger
    • Utilizar ScrollTrigger para activar animaciones a medida que el usuario desplaza a través de diferentes secciones de las características del producto.
  • Paso 5: Elementos Interactivos
    • Crear efectos de hover interactivos en los íconos o botones de características, proporcionando retroalimentación visual al usuario.

7.2.2 Fragmentos de Código de Ejemplo

HTML (Diseño Simplificado)

<div id="header">New Smartphone X</div>
<section id="feature1">Innovative Camera</section>
<section id="feature2">Long-lasting Battery</section>
<section id="feature3">Crystal Clear Display</section>

CSS (Basic Styling)

section {
  opacity: 0; /* Set up for GSAP animation */
  transform: translateY(50px);
}

JavaScript (GSAP con ScrollTrigger)

gsap.registerPlugin(ScrollTrigger);

gsap.to("#header", {duration: 1, opacity: 1, y: -20});

gsap.utils.toArray('section').forEach(section => {
  ScrollTrigger.create({
    trigger: section,
    start: "top 80%",
    onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
  });
});

A continuación se muestra una página HTML completa que encapsula la lógica y la estructura para el proyecto "Presentación Interactiva de Productos" utilizando GSAP y ScrollTrigger. Este ejemplo proporcionará una estructura básica sobre la cual puedes ampliar o modificar según tus necesidades específicas de proyecto.

7.2.3 Página HTML de la Presentación Interactiva de Productos

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Interactive Product Showcase</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
        #header {
            text-align: center;
            padding: 50px;
            background-color: #f0f0f0;
            font-size: 2em;
        }
        section {
            opacity: 0;
            transform: translateY(50px);
            padding: 100px;
            text-align: center;
            font-size: 1.5em;
            background-color: #ffffff;
            border-bottom: 1px solid #ddd;
        }
        .feature { transition: transform 0.3s ease; }
        .feature:hover { transform: scale(1.1); }
    </style>
</head>
<body>

<div id="header">New Smartphone X</div>
<section id="feature1" class="feature">Innovative Camera</section>
<section id="feature2" class="feature">Long-lasting Battery</section>
<section id="feature3" class="feature">Crystal Clear Display</section>

<!-- GSAP Library -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js>"></script>
<!-- ScrollTrigger Plugin -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js>"></script>

<script>
    // Register the ScrollTrigger plugin
    gsap.registerPlugin(ScrollTrigger);

    // Animate the header
    gsap.to("#header", {duration: 1, opacity: 1, y: -20});

    // Animate each section on scroll
    gsap.utils.toArray('.feature').forEach(section => {
        ScrollTrigger.create({
            trigger: section,
            start: "top 80%",
            onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
        });
    });
</script>

</body>
</html>

Explicación del Código

  • Estructura HTML: La página contiene un encabezado y tres secciones que representan diferentes características del producto. Cada sección está estilizada para comenzar con opacity: 0 y se traslada ligeramente hacia abajo (transform: translateY(50px)) para prepararse para la animación.
  • Estilo: Se aplica CSS básico para obtener un aspecto limpio, y se agrega un efecto hover a cada sección de características para la interactividad.
  • GSAP y ScrollTrigger: Se incluyen la biblioteca GSAP y el complemento ScrollTrigger. El script en la parte inferior de la página inicializa las animaciones. El encabezado se anima al cargar la página, mientras que las secciones de características se animan al entrar en la ventana gráfica, según la configuración de ScrollTrigger.

Personalización y Expansión

Esta estructura básica sirve como punto de partida para tu proyecto. Tienes la flexibilidad de personalizar y ampliar este proyecto de diversas formas. Por ejemplo, puedes agregar estilos más detallados para que sea visualmente atractivo. Considera incorporar imágenes o SVG del producto para proporcionar una mejor comprensión de sus características.

Además, puedes explorar la opción de incluir animaciones más complejas o elementos interactivos para mejorar aún más la experiencia del usuario. Al incorporar estas mejoras, puedes crear una interfaz de usuario más inmersiva y atractiva que dejará una impresión duradera en tus usuarios.

7.2 Proyecto: Presentación Interactiva de Productos

Objetivo: Desarrollar una presentación interactiva de productos para el lanzamiento de un nuevo producto de una empresa tecnológica ficticia. La presentación incluirá animaciones que respondan a las interacciones del usuario, destacando diferentes características del producto.

7.2.1 Desglose del Proyecto

1. Concepto del Proyecto

  • Una página de aterrizaje que presenta un nuevo teléfono inteligente.
  • Animaciones para resaltar características a medida que el usuario desplaza.
  • Elementos interactivos que responden a la interacción del usuario, como el hover y el clic.

2. Herramientas y Recursos

  • GSAP para animaciones.
  • Plugin ScrollTrigger para animaciones basadas en el desplazamiento.
  • HTML/CSS básico para la estructura y estilos de la página web.
  • Imágenes o gráficos SVG para el teléfono inteligente y las características.

3. Pasos de Implementación

  • Paso 1: Estructura de la Página Web
    • Crear un diseño HTML básico con un encabezado, secciones para cada característica del producto y un pie de página.
  • Paso 2: Estilos Básicos
    • Utilizar CSS para diseñar el diseño, centrándose en un diseño moderno y limpio adecuado para mostrar un producto tecnológico.
  • Paso 3: Agregar Animaciones GSAP
    • Implementar animaciones GSAP para el encabezado y las secciones de características. Estas podrían incluir la entrada deslizante de la imagen del producto, la aparición de los elementos de texto y la animación de los íconos de características en su lugar.
  • Paso 4: Integración de ScrollTrigger
    • Utilizar ScrollTrigger para activar animaciones a medida que el usuario desplaza a través de diferentes secciones de las características del producto.
  • Paso 5: Elementos Interactivos
    • Crear efectos de hover interactivos en los íconos o botones de características, proporcionando retroalimentación visual al usuario.

7.2.2 Fragmentos de Código de Ejemplo

HTML (Diseño Simplificado)

<div id="header">New Smartphone X</div>
<section id="feature1">Innovative Camera</section>
<section id="feature2">Long-lasting Battery</section>
<section id="feature3">Crystal Clear Display</section>

CSS (Basic Styling)

section {
  opacity: 0; /* Set up for GSAP animation */
  transform: translateY(50px);
}

JavaScript (GSAP con ScrollTrigger)

gsap.registerPlugin(ScrollTrigger);

gsap.to("#header", {duration: 1, opacity: 1, y: -20});

gsap.utils.toArray('section').forEach(section => {
  ScrollTrigger.create({
    trigger: section,
    start: "top 80%",
    onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
  });
});

A continuación se muestra una página HTML completa que encapsula la lógica y la estructura para el proyecto "Presentación Interactiva de Productos" utilizando GSAP y ScrollTrigger. Este ejemplo proporcionará una estructura básica sobre la cual puedes ampliar o modificar según tus necesidades específicas de proyecto.

7.2.3 Página HTML de la Presentación Interactiva de Productos

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Interactive Product Showcase</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
        #header {
            text-align: center;
            padding: 50px;
            background-color: #f0f0f0;
            font-size: 2em;
        }
        section {
            opacity: 0;
            transform: translateY(50px);
            padding: 100px;
            text-align: center;
            font-size: 1.5em;
            background-color: #ffffff;
            border-bottom: 1px solid #ddd;
        }
        .feature { transition: transform 0.3s ease; }
        .feature:hover { transform: scale(1.1); }
    </style>
</head>
<body>

<div id="header">New Smartphone X</div>
<section id="feature1" class="feature">Innovative Camera</section>
<section id="feature2" class="feature">Long-lasting Battery</section>
<section id="feature3" class="feature">Crystal Clear Display</section>

<!-- GSAP Library -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js>"></script>
<!-- ScrollTrigger Plugin -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js>"></script>

<script>
    // Register the ScrollTrigger plugin
    gsap.registerPlugin(ScrollTrigger);

    // Animate the header
    gsap.to("#header", {duration: 1, opacity: 1, y: -20});

    // Animate each section on scroll
    gsap.utils.toArray('.feature').forEach(section => {
        ScrollTrigger.create({
            trigger: section,
            start: "top 80%",
            onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
        });
    });
</script>

</body>
</html>

Explicación del Código

  • Estructura HTML: La página contiene un encabezado y tres secciones que representan diferentes características del producto. Cada sección está estilizada para comenzar con opacity: 0 y se traslada ligeramente hacia abajo (transform: translateY(50px)) para prepararse para la animación.
  • Estilo: Se aplica CSS básico para obtener un aspecto limpio, y se agrega un efecto hover a cada sección de características para la interactividad.
  • GSAP y ScrollTrigger: Se incluyen la biblioteca GSAP y el complemento ScrollTrigger. El script en la parte inferior de la página inicializa las animaciones. El encabezado se anima al cargar la página, mientras que las secciones de características se animan al entrar en la ventana gráfica, según la configuración de ScrollTrigger.

Personalización y Expansión

Esta estructura básica sirve como punto de partida para tu proyecto. Tienes la flexibilidad de personalizar y ampliar este proyecto de diversas formas. Por ejemplo, puedes agregar estilos más detallados para que sea visualmente atractivo. Considera incorporar imágenes o SVG del producto para proporcionar una mejor comprensión de sus características.

Además, puedes explorar la opción de incluir animaciones más complejas o elementos interactivos para mejorar aún más la experiencia del usuario. Al incorporar estas mejoras, puedes crear una interfaz de usuario más inmersiva y atractiva que dejará una impresión duradera en tus usuarios.

7.2 Proyecto: Presentación Interactiva de Productos

Objetivo: Desarrollar una presentación interactiva de productos para el lanzamiento de un nuevo producto de una empresa tecnológica ficticia. La presentación incluirá animaciones que respondan a las interacciones del usuario, destacando diferentes características del producto.

7.2.1 Desglose del Proyecto

1. Concepto del Proyecto

  • Una página de aterrizaje que presenta un nuevo teléfono inteligente.
  • Animaciones para resaltar características a medida que el usuario desplaza.
  • Elementos interactivos que responden a la interacción del usuario, como el hover y el clic.

2. Herramientas y Recursos

  • GSAP para animaciones.
  • Plugin ScrollTrigger para animaciones basadas en el desplazamiento.
  • HTML/CSS básico para la estructura y estilos de la página web.
  • Imágenes o gráficos SVG para el teléfono inteligente y las características.

3. Pasos de Implementación

  • Paso 1: Estructura de la Página Web
    • Crear un diseño HTML básico con un encabezado, secciones para cada característica del producto y un pie de página.
  • Paso 2: Estilos Básicos
    • Utilizar CSS para diseñar el diseño, centrándose en un diseño moderno y limpio adecuado para mostrar un producto tecnológico.
  • Paso 3: Agregar Animaciones GSAP
    • Implementar animaciones GSAP para el encabezado y las secciones de características. Estas podrían incluir la entrada deslizante de la imagen del producto, la aparición de los elementos de texto y la animación de los íconos de características en su lugar.
  • Paso 4: Integración de ScrollTrigger
    • Utilizar ScrollTrigger para activar animaciones a medida que el usuario desplaza a través de diferentes secciones de las características del producto.
  • Paso 5: Elementos Interactivos
    • Crear efectos de hover interactivos en los íconos o botones de características, proporcionando retroalimentación visual al usuario.

7.2.2 Fragmentos de Código de Ejemplo

HTML (Diseño Simplificado)

<div id="header">New Smartphone X</div>
<section id="feature1">Innovative Camera</section>
<section id="feature2">Long-lasting Battery</section>
<section id="feature3">Crystal Clear Display</section>

CSS (Basic Styling)

section {
  opacity: 0; /* Set up for GSAP animation */
  transform: translateY(50px);
}

JavaScript (GSAP con ScrollTrigger)

gsap.registerPlugin(ScrollTrigger);

gsap.to("#header", {duration: 1, opacity: 1, y: -20});

gsap.utils.toArray('section').forEach(section => {
  ScrollTrigger.create({
    trigger: section,
    start: "top 80%",
    onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
  });
});

A continuación se muestra una página HTML completa que encapsula la lógica y la estructura para el proyecto "Presentación Interactiva de Productos" utilizando GSAP y ScrollTrigger. Este ejemplo proporcionará una estructura básica sobre la cual puedes ampliar o modificar según tus necesidades específicas de proyecto.

7.2.3 Página HTML de la Presentación Interactiva de Productos

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Interactive Product Showcase</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
        #header {
            text-align: center;
            padding: 50px;
            background-color: #f0f0f0;
            font-size: 2em;
        }
        section {
            opacity: 0;
            transform: translateY(50px);
            padding: 100px;
            text-align: center;
            font-size: 1.5em;
            background-color: #ffffff;
            border-bottom: 1px solid #ddd;
        }
        .feature { transition: transform 0.3s ease; }
        .feature:hover { transform: scale(1.1); }
    </style>
</head>
<body>

<div id="header">New Smartphone X</div>
<section id="feature1" class="feature">Innovative Camera</section>
<section id="feature2" class="feature">Long-lasting Battery</section>
<section id="feature3" class="feature">Crystal Clear Display</section>

<!-- GSAP Library -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js>"></script>
<!-- ScrollTrigger Plugin -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js>"></script>

<script>
    // Register the ScrollTrigger plugin
    gsap.registerPlugin(ScrollTrigger);

    // Animate the header
    gsap.to("#header", {duration: 1, opacity: 1, y: -20});

    // Animate each section on scroll
    gsap.utils.toArray('.feature').forEach(section => {
        ScrollTrigger.create({
            trigger: section,
            start: "top 80%",
            onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
        });
    });
</script>

</body>
</html>

Explicación del Código

  • Estructura HTML: La página contiene un encabezado y tres secciones que representan diferentes características del producto. Cada sección está estilizada para comenzar con opacity: 0 y se traslada ligeramente hacia abajo (transform: translateY(50px)) para prepararse para la animación.
  • Estilo: Se aplica CSS básico para obtener un aspecto limpio, y se agrega un efecto hover a cada sección de características para la interactividad.
  • GSAP y ScrollTrigger: Se incluyen la biblioteca GSAP y el complemento ScrollTrigger. El script en la parte inferior de la página inicializa las animaciones. El encabezado se anima al cargar la página, mientras que las secciones de características se animan al entrar en la ventana gráfica, según la configuración de ScrollTrigger.

Personalización y Expansión

Esta estructura básica sirve como punto de partida para tu proyecto. Tienes la flexibilidad de personalizar y ampliar este proyecto de diversas formas. Por ejemplo, puedes agregar estilos más detallados para que sea visualmente atractivo. Considera incorporar imágenes o SVG del producto para proporcionar una mejor comprensión de sus características.

Además, puedes explorar la opción de incluir animaciones más complejas o elementos interactivos para mejorar aún más la experiencia del usuario. Al incorporar estas mejoras, puedes crear una interfaz de usuario más inmersiva y atractiva que dejará una impresión duradera en tus usuarios.

7.2 Proyecto: Presentación Interactiva de Productos

Objetivo: Desarrollar una presentación interactiva de productos para el lanzamiento de un nuevo producto de una empresa tecnológica ficticia. La presentación incluirá animaciones que respondan a las interacciones del usuario, destacando diferentes características del producto.

7.2.1 Desglose del Proyecto

1. Concepto del Proyecto

  • Una página de aterrizaje que presenta un nuevo teléfono inteligente.
  • Animaciones para resaltar características a medida que el usuario desplaza.
  • Elementos interactivos que responden a la interacción del usuario, como el hover y el clic.

2. Herramientas y Recursos

  • GSAP para animaciones.
  • Plugin ScrollTrigger para animaciones basadas en el desplazamiento.
  • HTML/CSS básico para la estructura y estilos de la página web.
  • Imágenes o gráficos SVG para el teléfono inteligente y las características.

3. Pasos de Implementación

  • Paso 1: Estructura de la Página Web
    • Crear un diseño HTML básico con un encabezado, secciones para cada característica del producto y un pie de página.
  • Paso 2: Estilos Básicos
    • Utilizar CSS para diseñar el diseño, centrándose en un diseño moderno y limpio adecuado para mostrar un producto tecnológico.
  • Paso 3: Agregar Animaciones GSAP
    • Implementar animaciones GSAP para el encabezado y las secciones de características. Estas podrían incluir la entrada deslizante de la imagen del producto, la aparición de los elementos de texto y la animación de los íconos de características en su lugar.
  • Paso 4: Integración de ScrollTrigger
    • Utilizar ScrollTrigger para activar animaciones a medida que el usuario desplaza a través de diferentes secciones de las características del producto.
  • Paso 5: Elementos Interactivos
    • Crear efectos de hover interactivos en los íconos o botones de características, proporcionando retroalimentación visual al usuario.

7.2.2 Fragmentos de Código de Ejemplo

HTML (Diseño Simplificado)

<div id="header">New Smartphone X</div>
<section id="feature1">Innovative Camera</section>
<section id="feature2">Long-lasting Battery</section>
<section id="feature3">Crystal Clear Display</section>

CSS (Basic Styling)

section {
  opacity: 0; /* Set up for GSAP animation */
  transform: translateY(50px);
}

JavaScript (GSAP con ScrollTrigger)

gsap.registerPlugin(ScrollTrigger);

gsap.to("#header", {duration: 1, opacity: 1, y: -20});

gsap.utils.toArray('section').forEach(section => {
  ScrollTrigger.create({
    trigger: section,
    start: "top 80%",
    onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
  });
});

A continuación se muestra una página HTML completa que encapsula la lógica y la estructura para el proyecto "Presentación Interactiva de Productos" utilizando GSAP y ScrollTrigger. Este ejemplo proporcionará una estructura básica sobre la cual puedes ampliar o modificar según tus necesidades específicas de proyecto.

7.2.3 Página HTML de la Presentación Interactiva de Productos

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Interactive Product Showcase</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 0; padding: 0; }
        #header {
            text-align: center;
            padding: 50px;
            background-color: #f0f0f0;
            font-size: 2em;
        }
        section {
            opacity: 0;
            transform: translateY(50px);
            padding: 100px;
            text-align: center;
            font-size: 1.5em;
            background-color: #ffffff;
            border-bottom: 1px solid #ddd;
        }
        .feature { transition: transform 0.3s ease; }
        .feature:hover { transform: scale(1.1); }
    </style>
</head>
<body>

<div id="header">New Smartphone X</div>
<section id="feature1" class="feature">Innovative Camera</section>
<section id="feature2" class="feature">Long-lasting Battery</section>
<section id="feature3" class="feature">Crystal Clear Display</section>

<!-- GSAP Library -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js>"></script>
<!-- ScrollTrigger Plugin -->
<script src="<https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js>"></script>

<script>
    // Register the ScrollTrigger plugin
    gsap.registerPlugin(ScrollTrigger);

    // Animate the header
    gsap.to("#header", {duration: 1, opacity: 1, y: -20});

    // Animate each section on scroll
    gsap.utils.toArray('.feature').forEach(section => {
        ScrollTrigger.create({
            trigger: section,
            start: "top 80%",
            onEnter: () => gsap.to(section, {opacity: 1, y: 0, duration: 1})
        });
    });
</script>

</body>
</html>

Explicación del Código

  • Estructura HTML: La página contiene un encabezado y tres secciones que representan diferentes características del producto. Cada sección está estilizada para comenzar con opacity: 0 y se traslada ligeramente hacia abajo (transform: translateY(50px)) para prepararse para la animación.
  • Estilo: Se aplica CSS básico para obtener un aspecto limpio, y se agrega un efecto hover a cada sección de características para la interactividad.
  • GSAP y ScrollTrigger: Se incluyen la biblioteca GSAP y el complemento ScrollTrigger. El script en la parte inferior de la página inicializa las animaciones. El encabezado se anima al cargar la página, mientras que las secciones de características se animan al entrar en la ventana gráfica, según la configuración de ScrollTrigger.

Personalización y Expansión

Esta estructura básica sirve como punto de partida para tu proyecto. Tienes la flexibilidad de personalizar y ampliar este proyecto de diversas formas. Por ejemplo, puedes agregar estilos más detallados para que sea visualmente atractivo. Considera incorporar imágenes o SVG del producto para proporcionar una mejor comprensión de sus características.

Además, puedes explorar la opción de incluir animaciones más complejas o elementos interactivos para mejorar aún más la experiencia del usuario. Al incorporar estas mejoras, puedes crear una interfaz de usuario más inmersiva y atractiva que dejará una impresión duradera en tus usuarios.