1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chinasoft4_ohos-confetti

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 14.03.2025 00:47 76abe97

конфетти

Проект

  • Название проекта: конфетти
  • Серия: адаптация и портирование третьих сторон для OpenHarmony
  • Функционал: Высокопроизводительная библиотека системы частиц с простым конфигурированием, которая может анимировать любую группу объектов в пространстве.
  • Статус портирования: Основные функции завершены
  • Различие при вызове: Отсутствует
  • Версия SDK: SDK6
  • Версия DevEco Studio: DevEco Studio 2.2 Beta1
  • Базовая версия: release 1.1.1

Демонстрация эффекта

gif gif gif gif

Инструкция по установке

  1. В файле build.gradle в корневой директории проекта добавьте:

    allprojects {
        repositories {
            maven {
                url 'https://s01.oss.sonatype.org/content/repositories/releases/'
            }
        }
    }
  2. В файле build.gradle модуля entry добавьте:

    dependencies {
        implementation('com.gitee.chinasoft_ohos:Confetti:1.0.0')
        ...
    }

Проект можно запустить непосредственно в SDK6 и DevEco Studio 2.2 Beta1.

Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневую директорию.

Инструкция по использованию

Каждый раз при вызове метода GenerateConfetto следует создавать абсолютно новый объект Confetto (объект ConfettiManager будет автоматически уничтожать старые объекты Confetto, если это необходимо).Пример использования Random при генерации конфетто:

final List<Bitmap> allPossibleConfetti = constructBitmapsForConfetti();
final int numConfetti = allPossibleConfetti.size();
final ConfettoGenerator confettoGenerator = new ConfettoGenerator() {
    @Override
    public Confetto generateConfetto(Random random) {
        final Bitmap bitmap = allPossibleConfetti.get(random.nextInt(numConfetti));
        return new BitmapConfetto(bitmap);
    }
};

После того как вы определили ConfettoGenerator, вам потребуется определить источник конфетто (ConfettiSource).

Пример определения источника конфетто:

final int containerMiddleX = container.getWidth() / 2;
final int containerMiddleY = container.getHeight() / 2;
final ConfettiSource confettiSource = new ConfettiSource(containerMiddleX, containerMiddleY);

Используйте animate() для начала, чтобы создать различные объекты типа Confetto, создайте новый ConfettiView, инициализируйте правильное состояние всех компонентов, а затем запустите анимацию.

ConfettiView автоматически удалится после того, как все бумажные лепестки закончат своё движение и исчезнут с экрана.

new ConfettiManager(context, confettoGenerator, confettiSource, container)
        .setEmissionDuration(1000)
        .setEmissionRate(100)
        .setVelocityX(20, 10)
        .setVelocityY(100)
        .setRotationalVelocity(180, 180)
        .animate();
```Класс `ConfettiManager` легко конфигурировать. Для простоты все скорости и ускорения указаны в пикселях в секунду или пикселях в квадрате в секунду, а все временные параметры (например, ttl, эмиссионное время)  в миллисекундах. Вы заметите, что большинство установщиков физических свойств (например, скорость, ускорение, вращение) принимают один параметр как фактическое значение или два параметра для случайной отклоняемости поведения, если вы хотите случайным образом изменять каждый выпущенный лепесток.```java
confettiManager.setVelocityX(200f, 50f);

Вы можете позволить пользователям касаться и перемещать бумажные лепестки по экрану. Когда пользователь выпускает лепесток, он начинается с этой точки со скоростью, заданной пользователем, и продолжает анимацию с уже настроенным ускорением.

confettiManager.setTouchEnabled(true);

Тестовая информация

Проверка кода CodeCheck прошла успешно.

Проверка CloudTest прошла успешно.

Программа прошла проверку безопасности на наличие вирусов.

Функциональность текущей версии демо практически не отличается от оригинального компонента.

Версия

  • 1.0.0

Информация о правах и лицензиях

Copyright 2016 Robinhood Markets, Inc.

Лицензировано по лицензии Apache License, Version 2.0 ("Лицензия");
вы не можете использовать этот файл, кроме случаев, предусмотренных Лицензией.
Вы можете получить копию Лицензии по адресу

   http://www.apache.org/licenses/LICENSE-2.0

В случае, если это требует применимого закона или было согласовано в письменной форме, программное обеспечение,
распространённое по Лицензии, распространяется на условиях "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ,
явных или подразумевающихся. Смотрите Лицензию для конкретного языка, регулирующего права и условия использования.

Подробнее см. в LICENSE.txt.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/chinasoft4_ohos-confetti.git
git@api.gitlife.ru:oschina-mirror/chinasoft4_ohos-confetti.git
oschina-mirror
chinasoft4_ohos-confetti
chinasoft4_ohos-confetti
master