рандомные картинки
Mar. 26th, 2024 04:59 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Не помню было такое у меня уже или нет. Если было и я не помню решения проблемы, значит... будем её решать еще столько раз пока решение не станет для нас очень видным.
напиши код для Twine 2 SugarCube 2, чтобы он отображал рандомную картинку из папки kartinki
CopilotКонечно, вот пример кода для Twine 2 с использованием формата SugarCube 2, который отображает случайное изображение из заданного списка:
Этот код использует метод .pluck() для выбора случайного изображения из массива $images и отображения его в пассаже. Помните, что вам нужно будет заменить "kartinka1.jpg", "kartinka2.jpg", "kartinka3.jpg" на имена файлов ваших изображений и указать правильный путь к папке kartinki.
Ок, скармливаю ему то, что сделано было самостоятельно, но корректно не работало:
Кот:
<<set $randimg = random(4, 6)>>
<div style="text-align: center;">
<img src="pic/(" + "$randimg" + ").jpg" style="display: inline-block;">
</div>
Как изменить этот код, чтобы он в Твайн 2 SugarCube 2 отображал картинку, а не строку: <img src="pic/(" + "4" + ").jpg" style="display: inline-block;">
Картинки в папке имеют названия (4), (5), (6)
Ответ Бинга:
Чтобы код корректно работал в Twine 2 с использованием формата SugarCube 2 и отображал изображение, вам нужно использовать следующий синтаксис для вставки изображения:
<<set $randimg to random(4, 6)>>
<div style="text-align: center;">
<img src="pic/($randimg).jpg" style="display: inline-block;">
</div>
Этот код устанавливает переменную $randimg со случайным значением от 4 до 6 и использует эту переменную в пути к изображению. Убедитесь, что ваши изображения находятся в папке pic вашего проекта Twine.
Ну, мы знаем как оно работает поэтому сразу пишем рекламацию: "это так не работает. Он создает ссылку на картинку такого вида: /pic/fignia/($randimg).jpg
===============================
Что нужно добавить, чтобы вместо текста $randimg было числовое значение переменной?
Ответ: Чтобы вместо текста $randimg отображалось числовое значение переменной, вам нужно использовать оператор <<print>> в Twine 2 с форматом SugarCube 2. Вот как это должно выглядеть:
<<set $randimg to random(4, 6)>>
<div style="text-align: center;">
<<print '<img src="pic/' + $randimg + '.jpg" style="display: inline-block;">'>>
</div>
Оператор <<print>> здесь используется для вывода значения переменной $randimg как части строки, что позволяет динамически изменять путь к изображению. Убедитесь, что ваши изображения правильно размещены в указанной папке.
===============================
А ведь он знал правильный ответ да?
Но меня это уже работающее решение не совсем устраивает потому, что Винда при массовом переименовании файлов выдает названия типа (1), (2). (3) и так далее
Поэтому еще один уточняющий вопрос: "а чтобы имя отображалос в виде (4).jpg?"
Ответ: "Для того чтобы имя файла отображалось в виде (4).jpg, вам нужно добавить скобки в строку пути к файлу. Вот пример кода, который должен работать в Twine 2 с использованием SugarCube 2:
<<set $randimg to random(4, 6)>>
<div style="text-align: center;">
<<print '<img src="pic/(' + $randimg + ').jpg" style="display: inline-block;">'>>
</div>
Этот код установит переменную $randimg со случайным значением от 4 до 6 и выведет путь к изображению с учетом скобок вокруг числа. Таким образом, если значение $randimg будет, например, 4, то путь к изображению примет вид pic/(4).jpg. Убедитесь, что скобки являются частью имени файла в вашей папке pic.
вот теперь оно работает как мне нужно... Спасибо, Майкрософту, что не создает нам простых путей, вот теперь зато понятно, что вместо скобочек можно что угодно подставить. И как подставлять тоже ясно.
Новое матерное слово дня: "конкатенация" Это вот про вот эти вот скобочки с принтом " + " объединяющие элементы в одну строку