Processing:Библиотеки/Processing for Android/wallpaperOffset(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= wallpaperHomeCount() и wallpaperOffset() <ref>[https://android.processing.org/reference/wallpapers/offset.html android.processing.org - Home screens]</ref>=
= wallpaperHomeCount() и wallpaperOffset() <ref>[https://android.processing.org/reference/wallpapers/offset.html android.processing.org - Home screens]</ref>=
Строка 54: Строка 54:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 11:52, 20 мая 2023


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



wallpaperHomeCount() и wallpaperOffset() [1]

Описание

Если у вашего устройства несколько домашних экранов, вам пригодятся функции wallpaperHomeCount() и wallpaperOffset(), которые позволяют настраивать графику в скетче в зависимости от текущего экрана. Функция wallpaperHomeCount() хранит количество домашних экранов (оно может меняться во время работы приложения «живых» обоев, т.к. пользователь может добавлять и удалять домашние экраны). Функция wallpaperOffset() хранит значение с плавающей точкой в диапазоне от «0» до «1», которое обозначает позицию экрана по горизонтали: «0» – это самый левый экран, а «1» – самый правый. В этом посте на stackoverflow.com более подробно объясняется, как это работает.

Пример

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);
}

См.также

Внешние ссылки