Я использую Gulp Spritesmith для генерации массивного длинного спрайта, чтобы создать эффект анимации прокрутки.
Я следую этого урока .И в этом уроке есть функция sass, которая перебирает изображения:
@for $i from 1 through $frame-count {
.frame#{$i} {
background-position: -(($i * $offset-val) * 2) + px 50%;
}
}
Я собирался сделать то же самое, только по вертикали, поэтому:
@for $i from 1 through $frame-count {
.frame#{$i} {
background-position: 0px -(($i * $offset-val) * 2) + px;
}
}
Но независимо от того,из того, что я делаю, тогда мой выходной спрайт использует binary-tree
-алгоритм для создания спрайтов.
Итак, если у меня есть 16 изображений, то спрайт выглядит так:
1 2 7 13
3 4 8 14
5 6 9 15
10 11 12 16
И я бы хотел, чтобы они были такими:
1
2
3
4
5
6
7
...
...
Вот мое ядроФайл Grit Spritesmith:
var gulp = require('gulp');
var spritesmith = require('gulp.spritesmith');
gulp.task('default');
gulp.task('sprite', function () {
var spriteData = gulp.src('images/*.jpg')
.pipe(spritesmith({
imgName: 'sprite.jpg',
cssName: 'sprite.css',
algorithm: 'top-down'
}));
spriteData.img.pipe(gulp.dest('img'));
spriteData.css.pipe(gulp.dest('css'));
});
За последние три часа я возился с этими тремя строками:
.pipe(spritesmith({
imgName: 'sprite.jpg',
cssName: 'sprite.css',
}));
... и независимо от того, что я делаю, - тогда я могуполучить выходные файлы для изменения (вообще!).Даже имя, заменив cssName: 'sprite.css',
на cssName: 'foobar.css',
!
Что мне не хватает?