Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su

9.7. Как сделать сменяемое изображение на локации?

В: Как сделать сменяемое изображение на локации?

О:

Смена изображения на локации делается весьма просто.

В первую очередь необходимо подготовить два изображения и поместить их в папку с игрой, либо во вложенную папку. Например, у нас есть изображения "солнечный_день.jpg" и "пасмурный_вечер.png", мы создали в папке с игрой папку "фон", и поместили эти изображения туда.

Выводить изображения мы будем с помощью html-тега `<img>`, а сменять с помощью действия "Сменить изображение".

В поле "выполнить при посещении" локации, на которой мы хотим вывести изображения, нужно прописать код с условиями:

if изображение=0:
! если значение переменной "изображение" равно нулю
    
! выводим картинку "солнечный_день.jpg"
    *pl "<img src='фон/солнечный_день.jpg'>"
elseif изображение=1:
! иначе если значение переменной "изображение" равно единице
    
! выводим картинку "пасмурный_вечер.png"
    *pl "<img src='фон/пасмурный_вечер.png'>"
end

Здесь же создаём действие, которое будет "менять" картинку:

act "Сменить пейзаж":
    
! на самом деле действие меняет значение переменной
    if изображение=0:
        изображение=1
    elseif изображение=1:
        изображение=0
    end
    
! и заставляет плеер перезайти на текущую локацию
    goto $curloc
end

Работает это следующим образом:

  • Если переменная "изображение" не была заранее задана, её значение в момент посещения локации будет равно нулю, поэтому сработает первое условие, а значит на экране мы увидим картинку "солнечный_день.jpg".
  • Когда мы нажмём на действие, в действии так же произойдёт проверка условия, и так как значение переменной "изображение" в момент нажатия действия будет равно нулю, этой переменной присвоится значение 1, после чего плеер перезайдёт на текущую локацию.
  • Когда плеер повторно зайдёт на текущую локацию, он очистит окно основного описания, затем начнёт выполнять код из области "выполнить при посещении", и согласно значению переменной "изображение" сработает второе условие, а значит на экран будет выведена картинка "пасмурный_вечер.png".
  • И так далее.

Если вам нужно сделать изображения, которые меняются при щелчке непосредственно по ним, нужно просто завернуть эти изображения в гиперссылки:

if изображение=0:
! если значение переменной "изображение" равно нулю
    
! выводим картинку "солнечный_день.jpg"
    *pl "<a href='exec:изображение=1 & goto $curloc'><img src='фон/солнечный_день.jpg'></a>"
elseif изображение=1:
! иначе если значение переменной "изображение" равно единице
    
! выводим картинку "пасмурный_вечер.png"
    *pl "<a href='exec:изображение=0 & goto $curloc'><img src='фон/пасмурный_вечер.png'></a>"
end