Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Бесплатная браузерная игра «Слаймы Атакуют: Головоломка!» в жанре головоломка. Подходит для мальчиков и девочек, доступна без регистрации, на русском языке

Слаймы Атакуют: Головоломка!

Казуальные, Головоломки, Аркады

Играть

Топ прошлой недели

  • cristall75 cristall75 6 постов
  • 1506DyDyKa 1506DyDyKa 2 поста
  • Animalrescueed Animalrescueed 35 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
16
androidKot
androidKot
Лига программистов

Процедурная анимация фона в стиле Матрицы⁠⁠

1 год назад
Перейти к видео

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

Сделал для своего приложения такую красоту, внизу код на Kotlin (Android+Compose), пользуйтесь кто желает (нейросетью можете перевести на свой язык под свою платформу). Сразу после списка символов идут переменные управления потоками, вынес их вместе, чтобы регулировать скорость, частоту и прочее.



import androidx.compose.foundation.background

import androidx.compose.foundation.layout.*

import androidx.compose.material3.Text

import androidx.compose.runtime.*

import androidx.compose.ui.Modifier

import androidx.compose.ui.graphics.Color

import androidx.compose.ui.platform.LocalConfiguration

import androidx.compose.ui.platform.LocalDensity

import androidx.compose.ui.unit.dp

import androidx.compose.ui.unit.sp

import kotlinx.coroutines.delay

import kotlinx.coroutines.isActive

import kotlin.random.Random

object MatrixAnimationSettings {

val symbols = listOf(

'ア', 'ィ', 'イ', 'ゥ', 'ウ', 'ェ', 'エ', 'ォ', 'オ', 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ', 'コ', 'ゴ',

'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ', 'セ', 'ゼ', 'ソ', 'ゾ', 'タ', 'ダ', 'チ', 'ヂ', 'ッ', 'ツ', 'ヅ', 'テ', 'デ',

'ト', 'ド', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'バ', 'パ', 'ヒ', 'ビ', 'ピ', 'フ', 'ブ', 'プ', 'ヘ', 'ベ', 'ペ',

'ホ', 'ボ', 'ポ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ャ', 'ヤ', 'ュ', 'ユ', 'ョ', 'ヨ', 'ラ', 'リ', 'ル', 'レ', 'ロ',

'ヮ', 'ワ', 'ヰ', 'ヱ', 'ヲ', 'ン', 'ヴ', 'ヵ', 'ヶ', 'ヷ', 'ヸ', 'ヹ', 'ヺ', '・', 'ー', 'ヽ', 'ヾ'

)

const val rows = 15 // количество дорожек с символами

const val maxVisibleSymbols = 70 // Максимальное количество видимых символов

const val symbolDelay = 200L // Задержка между появлениями символов

const val fadeStep = 0.1f // Шаг уменьшения альфы

const val alphaStart = 1f // Начальное значение альфы

const val maxYOffset = 100 // Максимальное вертикальное смещение

const val maxXOffset = 10 // Максимальное горизонтальное смещение

const val maxDelay = 10000L // Макс задержка

const val fontSize = 12 // Размер шрифта

var symbolPadding = 1.dp // Вертикальный отступ между символами

}

@Composable

fun MatrixBackground() {

Box(

modifier = Modifier.fillMaxSize().background(Color.Black)

) {

for (i in 0 until MatrixAnimationSettings.rows) {

MatrixColumn(MatrixAnimationSettings.symbols, i, MatrixAnimationSettings.fontSize)

}

}

}

@Composable

fun MatrixColumn(symbols: List<Char>, columnIndex: Int, fontSize: Int) {

var symbolList by remember { mutableStateOf(listOf<MatrixSymbol>()) }

var animationRunning by remember { mutableStateOf(true) }

val screenWidth = LocalConfiguration.current.screenWidthDp

val screenWidthPx = with(LocalDensity.current) { screenWidth.toInt() }

val randomXOffset = (Random.nextInt(1, 21) * 20)

val randomStartDelay = Random.nextLong(100L, MatrixAnimationSettings.maxDelay)

LaunchedEffect(Unit) {

delay(randomStartDelay)

while (animationRunning && isActive) {

delay(MatrixAnimationSettings.symbolDelay)

val newSymbol = MatrixSymbol(

symbol = symbols.random(),

index = Random.nextInt(0, 1000),

alpha = MatrixAnimationSettings.alphaStart,

yOffset = symbolList.size * 20,

xOffset = randomXOffset

)

symbolList = symbolList + newSymbol

symbolList = symbolList.mapIndexed { index, symbol ->

symbol.copy(alpha = symbol.alpha - MatrixAnimationSettings.fadeStep)

}

if (symbolList.size > MatrixAnimationSettings.maxVisibleSymbols) {

symbolList = symbolList.drop(1)

}

if (symbolList.all { it.alpha <= 0f }) {

animationRunning = false

symbolList = emptyList()

}

}

}

symbolList.forEach { symbol ->

Text(

text = symbol.symbol.toString(),

color = Color.Green.copy(alpha = symbol.alpha),

fontSize = fontSize.sp,

modifier = Modifier

.padding(MatrixAnimationSettings.symbolPadding)

.offset(x = symbol.xOffset.dp, y = symbol.yOffset.dp)

)

}

}

data class MatrixSymbol(

val symbol: Char,

val index: Int,

val alpha: Float,

val yOffset: Int,

val xOffset: Int

)

Показать полностью
[моё] Программирование Код Процедурная генерация Kotlin Видео Вертикальное видео Длиннопост Матрица (фильм)
0
ermolnik666

Kotlin puzzlers⁠⁠

1 год назад
Перейти к видео

Правильный ответ после 10 комментариев

[моё] Kotlin Android IT Программа Приложение Разработчики Видео Вертикальное видео
7
9
ishbay
Android Developers

Мое первое приложение на android⁠⁠

1 год назад

Всем привет) Вот и я решил написать о своем приложении. Самое интересное никогда не понимал программирование и в школе и в универе. Но сам того не знаю в голову пришла идея попробовать сделать что-то интересное. И вот что получилось 👇👇👇

От рождения идеи до загрузки в Google Play прошло 3 месяца.

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

Хотя к этому времени уже написал код который криво но работает по поиску имен из базы. Т.е на пустом экране строка поиска с выводом информации.

Но желание закончить начатое было сильнее. И уже сначала полностью создаю примерный дизайн и основные функции и как они должны работать прямо на блокноте ручкой).

А когда понимаешь что должно быть в конце и писать код стало гораздо интереснее.

Перейти к видео

А ещё сложнее оказалось сделать аккаунт разработчика в Google Play) Тот ещё квест с потерей денег и времени.

Буду рад критике и за новые идеи.

Ссылка на приложение: https://play.google.com/store/apps/details?id=com.bashkir_ta...

Показать полностью 2 1
[моё] Android Приложение на Android Android разработка Kotlin Видео Без звука Вертикальное видео Длиннопост
14
3
ivanbondaruk
ivanbondaruk

Разработка Telegram подобного мессенджера на Kotlin ч1⁠⁠

3 года назад

Доброй ночи дорогие друзья. Не так давно я решил попробовать свои силы в разработке своего мессенджера который будет выполнять элементарные вещи, а именно: отправка текстовых, медиа и голосовых сообщений, отображать статус(онлайн/офлайн), удалить чат.

Ниже это некоторые скриншоты из приложения.

Это список контактов которые уже используют данное приложение. Имя контакта - то которое указал пользователь при регистрации

Вот такая выходит переписка

Перейти к видео

На данный момент реализована только переписка в виде текста. Работаю над механизмом отправки голосовых сообщений а также медиа файлов.

Если будет интересно то смогу рассказать подробнее о процессе разработки)

Показать полностью 2 1
[моё] Разработчики Android разработка Kotlin Android studio Видео Без звука Вертикальное видео Длиннопост
15
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии