[ 'images/LEGACY/apples-averywhere.png', 'images/LEGACY/legacy-menu-pause.png', 'images/LEGACY/legacy-screen-6.png', 'images/LEGACY/legacy-screen-7.png', 'images/LEGACY/run-and-eat-to-survive.png', 'images/LEGACY/you-won_t-live-forever.png', ], 'OLLY' => [ 'images/OLLY/lesson_contentblock01.png', 'images/OLLY/lesson_contentblock04.png', 'images/OLLY/lesson_contentblock05.png', 'images/OLLY/lesson_cover01.png', 'images/OLLY/quiz_choosemode.png', 'images/OLLY/quiz_quadmode.png', ], ]; $images = $imagesSets[$set]; $count = count($images); $duration = $count * $secondsPerImage; // durée calculée selon le nombre d'images // Décalage par colonne/rangée basé sur le nombre d'images // Colonnes/rangées impaires vont dans la même direction // Colonnes/rangées paires vont dans l'autre direction if ($mode === 'horizontal') { // 5 rangées pour le mode horizontal $columns = [ ['offset' => 0, 'delay' => 0], ['offset' => (int)($count / 5), 'delay' => $duration / 5], ['offset' => (int)(2 * $count / 5),'delay' => 2 * $duration / 5], ['offset' => (int)($count / 5), 'delay' => 3 * $duration / 5], ['offset' => 0, 'delay' => 4 * $duration / 5], ]; } else { // 3 colonnes pour le mode vertical $columns = [ ['offset' => 0, 'delay' => 0], ['offset' => (int)($count / 3), 'delay' => $duration / 4], ['offset' => 0, 'delay' => $duration / 2], ]; } function getShiftedImages($images, $offset) { return array_merge( array_slice($images, $offset), array_slice($images, 0, $offset) ); } ?> Test Animation Galerie