// Import the FE Expression Script library import { GUI } from 'dat.gui'; import { FEExpression } from 'fe-expression';
In the world of frontend development, creating visually appealing and interactive user interfaces is crucial. One way to achieve this is by using SVG (Scalable Vector Graphics) and implementing complex animations. In this article, we'll explore how to create a stunning Sushi X Top animation using FE Expression Script.
// Animate the sushi roll and toppings animation.animate(); toppingAnimation.animate(); fe expression script sushi x top
// Define the sushi roll and toppings const sushiRoll = svg.querySelector('#sushi-roll'); const toppings = svg.querySelectorAll('.topping');
// Define the animation const animation = new FEExpression(sushiRoll, { // Define the rotation and scaling expressions rotate: (t) => `rotate(${t * 360}deg)`, scale: (t) => `scale(${1 + t * 0.5})`, }); // Import the FE Expression Script library import
The FEExpression class takes two arguments: the element(s) to animate and an object containing the animation expressions. The expressions are functions that take a single argument, t , which represents the animation time.
For this example, we'll create a Sushi X Top animation that showcases the library's capabilities. The animation features a sushi roll rotating and scaling, with toppings (represented by small circles) moving in sync with the roll. // Animate the sushi roll and toppings animation
<svg viewBox="0 0 200 200"> <g id="sushi-roll"> <rect x="50" y="50" width="100" height="100" fill="#FFC700" rx="20" /> <path d="M 100 50 L 150 100 L 100 150 Z" fill="#FFC700" /> </g> <g> <circle class="topping" cx="80" cy="80" r="10" fill="#FF69B4" /> <circle class="topping" cx="120" cy="80" r="10" fill="#FF69B4" /> <circle class="topping" cx="100" cy="120" r="10" fill="#FF69B4" /> </g> </svg>