Cuando el dispositivo tiene varias pantallas de inicio, dos funciones en Processing nos indican cómo ajustar los gráficos en el bosquejo de fondo de pantalla, según cuál sea la pantalla actual: wallpaperHomeCount()
y wallpaperOffset()
. wallpaperHomeCount()
devuelve el número de pantallas de inicio (este valor puede cambiar durante la ejecución del fondo de pantalla en el caso de que los usuarios agregen o eliminen pantallas de inicio). wallpaperOffset()
es un número decimal entre 0 y 1 que mide el desplazamiento horizontal a lo largo de las pantallas: 0 en la ubicación más a la izquierda y 1 cuando estamos ubicados en la pantalla de inicio más a la derecha. Esta publicación en stackoverflow explica con más detalle cómo funciona el desplazamiento horizontal x.
PImage img;
float ratio;
void setup() {
fullScreen();
img = loadImage("landscape.jpg");
ratio = float(img.width)/float(img.height);
}
void draw() {
background(0);
float w = wallpaperHomeCount() * width;
float h = w/ratio;
float x = map(wallpaperOffset(), 0, 1, 0, -(wallpaperHomeCount()-1) * width);
image(img, x, 0, w, h);
}