Форум » » Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. (продолжение) » Ответить

Специальная тема для гостей и вновь прибывших. Здесь вы можете задавать свои вопросы. (продолжение)

Серый Волк: Дорогие гости, если у вас есть небольшие "одноразовые" вопросы, пожалуйста, не стоит заводить под каждый из них отдельную тему на форуме, задавайте их здесь. Также, тут можно просто поздороваться или даже представиться. Спасибо :)

Ответов - 267, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All

Серый Волк: Некоторые игры с боями: "Забытый герой красной горы" - http://rilarhiv.ru/urq/ForgottenHeroVvarndefell.zip "Приключения бравого толкиениста" [AkURQ1.28pre1] - http://rilarhiv.ru/urq/PBT.rar "Вирус" - http://rilarhiv.ru/urq/Virus.rar "ВЖЖ!-2 или Все хотят Колокольчик Бессмертия" http://urq.plut.info/node/370 /на мой взгляд - лучшие битвы один на один/

Михаил Фаул: Срочно нужен соавтор, который поправит мои глупые ошибки в коде. Крайный срок - до послезавтра.

Saint: Михаил. В личку отписал.

Vulcano: Всем доброго времени суток. Есть такая вот задачка. Необходимо присвоить массиву строковый тип данных. Т.е. каждый элемент массива от 1 до i при выводе на экран будет выдавать разные строчки текста. Можно ли это осуществить с помощью URQL, пользуюсь интерпретатором FireURQ. Заранее спасибо.

Евгений: Можно. :ввод имя1="Вася" имя2="Петя" имя3="Геннадий" количество имен=3 pln "Массив" сформирован, кол-во элементов - #количество имен$. btn вывод, вывести массив end :вывод i=0 :вывод_loop i=i+1 if i>количество имен then end pln #i$) #%имя#i$$ goto вывод_loop end

Vulcano: Отлично, уже проверил. Такой непривычный и нелогичный синтаксис. Спасибо, очень помогли.

Chicago1920: Евг, а теперь залей это на плут и объяви своей новой долгожданной игрой)

fireton: Vulcano пишет: Такой непривычный и нелогичный синтаксис. Очень многое в URQ делается с помощью подстановок. Это очень мощный инструмент, хотя да, его синтаксис выглядит порою жутковато.

Vulcano: Есть еще одна задачка. Как сделать так, чтобы при нажатии по конкретному декоратору выводилась подсказка в виде еще одного декоратора с текстом. Я разобрался с примером тултипов на Вики, но как определить область нажатия мыши, равной конкретному декоратору и как грамотно написать код для определения нажатия клавиши мыши в пределах этой области. Заранее спасибо.

vito: Vulcano пишет: как определить область нажатия мыши, равной конкретному декоратору и как грамотно написать код для определения нажатия клавиши мыши в пределах этой области Функция добавления декоратора: decoradd <имя_декоратора> (<абсцисса верхнего левого угла декоратора>, <ордината верхнего левого угла декоратора>) image <название графического файла в кавычках> Абсцисса и ордината левого верхнего угла отсчитываются от левого верхнего угла экрана (обзовем их x0, y0). Габариты (в пикселях) графического файла по горизонтали и вертикали (обзовем их dx и dy) заранее известны. Проверка ввода пользователя после вывода декоратора осуществляется при помощи функции anykey <код_клавиши> if код_клавиши=256 then ... ; код 256 означает, что была нажата кнопка мыши Абсцисса и ордината мыши возвращаются в системных переменных mouse_x и mouse_y, соответственно. При щелчке левой кнопкой мыши в пределах нашего декоратора будут выполнены следующие условия: mouse_x>=x0 and mouse_x<=x0+dx and mouse_y>=y0 and mouse_y<=y0+dy Как-то так.

Vulcano: Тогда поясните мне вот эту строчку? "Переменные mouse_x и mouse_y возвращают теперь текущие координаты мыши просто на момент вызова. Не надо больше вызывать anykey и ждать нажатия кнопки мыши чтобы получить их." fireton Как обойтись без anykey и возможно ли это? В попытках уже проклял все на свете, при условии что декоратор - текст.

Vulcano: Ну и попутно сразу возник вопрос. Можно ли задать декоратору координаты mouse_x и mouse_y. Что-то вроде такого: decoradd Имя (mouse_x, mouse_y, -1) RECT 210, 40 Понятно, что выполняться будет данная строка тогда, когда будет выполнено конкретное условие.

vito: Vulcano пишет: Тогда поясните мне вот эту строчку? "Переменные mouse_x и mouse_y возвращают теперь текущие координаты мыши просто на момент вызова. Не надо больше вызывать anykey и ждать нажатия кнопки мыши чтобы получить их." fireton Как обойтись без anykey и возможно ли это? В попытках уже проклял все на свете, при условии что декоратор - текст. Одно другому не противоречит. anykey нужен для проверки того, была ли нажата кнопка мыши. С декораторами-текстами никогда не работала, возможно, там все сложнее. Я бы в таком случае поступила так: перевела бы текст в графический файл и работала бы с ним, как с нормальным графическим декоратором. Vulcano пишет: Ну и попутно сразу возник вопрос. Можно ли задать декоратору координаты mouse_x и mouse_y. Теоретически никаких проблем быть не должно. Самое простое - проверить экспериментально.

Vulcano: Спасибо за ответы. Экспериментально проверил, координаты mouse_x, mouse_y ставятся без проблем. Переводить декораторы текста в графические файлы слишком накладно, просто ужасно забивать 36 разных фраз в графику. Очень не хватает реализации событий для декораторов, например обычный или двойной клик мыши. Где-то в предложениях Фурки что-то такое читал и присоединяюсь к тому, что это очень упростило бы жизнь многим квестописателям. В момент проверки выяснил странную закономерность. Если в декораторе ранее был использован цвет в формате 0xf83232, то все последующие декораторы отказываются принимать цветовую схему формата 0xFF030086. Или я что-то снова недопонимаю?

Steks: Попробуй сделать прозрачный png прямоугольник, и модифицируй его так-же как текст. Отлавливай его события.

Vulcano: С предыдущими вопросами благополучно справился, за что несказанно всех благодарю. Есть еще один каверзный вопросик, который никак не дает покоя. Можно ли научить все декораторы скролировать вместе с прокуручиванием текстовой области интерпретатора? Когда текст заходит за пределы, автоматически включается режим скрола. Текст, конечно же, прокручивается, как и положено, а вот декораторы стоят на месте, как вкопанные. Оно и понятно, у них прописаны жесткие координаты, в том то и загвоздка, можно ли какими-то известными способами заставить декораторы прокручиваться? Заранее благодарен за все ответы

Серый Волк: Vulcano, увы, такого способа нет, заставить декораторы скроллироваться вместе с текстом нельзя.

fireton: Декораторы нельзя, можно просто встроить картинку в текст, если тебе нужна просто картинка.

Vulcano: Мне нужно что-то по типу форматирования в Word'е. Когда картинка вписана в текст, т.е. сделаны настройки обтекания "по контуру". Можно ли что-то подобное сделать с декоратором или с обычной вставкой картинки? Есть еще кое-что. Как после различных манипуляций с цветом текста сделать его исходным, базовым, по типу "_sysfont"?

fireton: Обтекания картинок нет. Я хотел когда-то сделать, но поскольку весь рендеринг текста и форматирование я писал сам, то понимаю, какой там адский геморрой это всё переделывать (и не факт, что я чего-нибудь не разломаю). Аджента одно время активно просила это самое обтекание, но в конце концов смирилась и больше не просит. :) Чтобы установить начальный цвет используй вот такое: [pre2]Style_dos_textcolor = 7[/pre2] У фурки нет "системного цвета" шрифта. Есть типа стартовый, серый. А там ты уж меняй его как хочешь. Назначь константу в начале квеста, каким будет твой "системный" цвет и назначай его. Как по-умолчанию, я написал выше.



полная версия страницы