[personal profile] blocknote

Не помню было такое у меня уже или нет. Если было и я не помню решения проблемы, значит... будем её решать еще столько раз пока решение не станет для нас очень видным.

 

напиши код для Twine 2 SugarCube 2, чтобы он отображал рандомную картинку из папки kartinki

Copilot
Конечно, вот пример кода для Twine 2 с использованием формата SugarCube 2, который отображает случайное изображение из заданного списка:

<<set $images to ["kartinka1.jpg", "kartinka2.jpg", "kartinka3.jpg"]>> /* Замените имена файлов на имена ваших изображений */
<<set $randomImage to $images.pluck()>>
<img src="path/to/kartinki/$randomImage"> /* Укажите правильный путь к папке с изображениями */
 

 

Этот код использует метод .pluck() для выбора случайного изображения из массива $images и отображения его в пассаже. Помните, что вам нужно будет заменить "kartinka1.jpg", "kartinka2.jpg", "kartinka3.jpg" на имена файлов ваших изображений и указать правильный путь к папке kartinki.


вам не нужно перечислять все 100 изображений вручную. Вы можете использовать цикл в Twine для автоматического создания массива с именами файлов. Вот пример кода, который делает это:
 
<<set $images to []>>
<<for _i to 100>>
  <<set _imageName to "kartinka" + _i + ".jpg">>
  <<set $images.push(_imageName)>>
<</for>>
<<set $randomImage to $images.pluck()>>
<img src="path/to/kartinki/$randomImage"> /* Укажите правильный путь к папке с изображениями */
 
Этот код создает массив $images с именами файлов от kartinka1.jpg до kartinka100.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.

 

вот теперь оно работает как мне нужно... Спасибо, Майкрософту, что не создает нам простых путей, вот теперь зато понятно, что вместо скобочек можно что угодно подставить. И как подставлять тоже ясно.

Новое матерное слово дня: "конкатенация" Это вот про вот эти вот скобочки с принтом " + " объединяющие элементы в одну строку

 

 

 

 

Profile

blocknote

January 2025

S M T W T F S
    1234
567891011
12131415 161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios