Как сделать?
…
а как задать максимальный размер картинки в основном окне чтобы картинки не были на полтора-два экрана (чтобы в ручную не переделывать каждую картинку), видел в коде другой игры подобную функцию но разобраться как она работает не получилось.
и что делает команда set ?
saks,
если картинка вставляется с помощью тега <img> можно задать ширину и высоту картинки атрибутами width и height. Но только в абсолютном значении. Пример:
<img src='paintdraw.png' width=320 height=240>
Aleks Versus:
если картинка вставляется с помощью тега <img> можно задать ширину и высоту картинки атрибутами width и height. Но только в абсолютном значении.
Забавно.. А я всегда в фотошопе резал до вставляния…
Но у меня другой вопрос. По массивам.
act 'Проверить количество':
gs 'store'
"Всего на складе <<ARRSIZE('prod_type')>> типов продуктов"
end
Вот в первый раз это вроде работает, показывая правильную цифру 25. Но если еще раз нажать “Проверить…” к тем 25 прибавятся новые 25… Объясните, пожалуйста, почему они складываются?
svandrus,
видимо, у тебя в локации ‘store’ добавляются элементы массива.
Каждый раз, как исполняется строка
gs 'store'
вызывается локация ‘store’ и добавляются очередные 25 элементов массива.
Nex:
вызывается локация ‘store’ и добавляются очередные 25 элементов массива.
Это-то я понял…. Я не понял почему они добавляются. Я же их нигде не складываю, просто прошу показать сколько их там всего…Я не нумеровал элементы массива, т.е. в локации ‘store’ они записаны в виде:
$prod_type[] ='Сыр'
$prod_type[] ='Масло'
e.t.c.
может поэтому?
P.S. Пронумеровал - перестало складываться. Но вопрос остался…
svandrus,
такая конструкция
массив[] = элемент
означает: “добавить новый элемент в конец массива”.
В конец массива можно добавлять сколько угодно, и каждый раз он будет расти.
Поэтому, тебе действительно нужно было пронумеровать элементы массива. Тогда вместо добавления в конец, они всегда будут записываться на одни и те же конкретные места.
Или же зашитить свой код проверкой, чтобы он выполнялся только один раз:
IF массив_заполнен = 0:
массив_заполнен = 1
массив[] = элемент
массив[] = элемент
массив[] = элемент
...
массив[] = элемент
END
Или же очищать массив перед заполнением:
KILLVAR 'массив'
массив[] = элемент
массив[] = элемент
массив[] = элемент
...
массив[] = элемент
Nex,
Спасибо… Я все-таки просто пронумеровал все элементы и пока на этом остановился…
Теперь новый вопрос… Вот есть у меня несколько картинок jpg, поименованных следующим образом:
pic(0), pic(1) etc.
Где-то видел конструкцию, позволяющую в произвольном порядке выводить эти картинки. Вроде бы так:
i=rand(0,10)
'<img src="pic/pic(<<i>>).jpg">'
В таком виде, понятно, ничего не показывает, но видно, что пытается найти рисунок по этому адресу.. Помнится, в правильной конструкции были какие-то плюсы перед и после i и доп. кавычки. У самого накомбинировать правильно не получилось, потому спрашиваю у умных людей… Как оно правильней сделать?
P.S. Вопрос снят.. Именно эта конструкция и работает. У меня файлы поименованы pic (0)… с пробелом. А в коде я его пропустил.. Мелочь вроде, а какая вредная…
Народ, можно ли как-то обновлять текст в главном окне, не обновляя всей локации?
Hungry,
*CLR
'Новый текст'
Увы, не помогает. Просто удаляет текст, а новый выводит только после обновления локации.
Hungry,
не может такого быть. Проверяй внимательнее.
Hungry:
Народ, можно ли как-то обновлять текст в главном окне, не обновляя всей локации?
Есть, например, модуль работы с экраном, который эту проблему решает: https://qsp.org/forum/236-qsp-ekran-modul-dla-raboty-s-ekranom
Если конструкция вида:
'старый текст'
act 'Добавить текст':
'Новый текст'
end
Без всяких *clr, тогда получается.. А вот с *clr после act действительно все уносится…
Если стоит задача изменить текст на локации частично, то она решается с помощью динамического описания.
Описание разбивается на блоки, вывод которых контролируется условиями. Далее, меняются переменные, и совершается “перезаход” на текущую локацию.
Пример:
! Эта строка не меняется.
'Я стою на корме. '
! Проверяем условие.
IF ганц = 1:
! Эта строка выводится, только если Ганцупопер прибежал.
'Ганцупопер ждёт приказа. '
END
ACT 'Свистнуть':
! Я свистнул, и Ганцупопер тут же примчался.
! Меняем состояние переменной "ганц", отмечая этот факт.
ганц = 1
! Состояние локации изменилось. Делаем "перезаход", чтобы обновить описание.
GT $CURLOC
END
Нужно менять текст циклически. В общем, в окне описания описаны характеристики персонажа. В результате действия заклятия они какое-то время меняются. Нужно, чтобы это было видно на основном экране.