Processing:Библиотеки/Processing for Android/wallpaperOffset(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Нет описания правки |
||
Строка 14: | Строка 14: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
PImage img; | PImage img; | ||
float ratio; | float ratio; |
Текущая версия от 11:56, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
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);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |