/// /// Исходный код текстовой онлайн игры "Пример визуальной новеллы на Аперо" скачан с сайта https://apero.ru/ /// Пройти онлайн или скачать последнюю версию этой игры можно по адресу: https://apero.ru/Текстовые-игры/Пример-визуальной-новеллы-на-Аперо /// Авторы: Агент007 /// Версия: от 2020-06-01 18:11:46 /// \заново \(АПЕРО.анимация.количество=1) \(АПЕРО.стиль="ночной минимализм") \(АПЕРО.блок.цвет текста="#ffffff") \(АПЕРО.кнопка.цвет текста="#ffffff") \(_Предмет=1) \(_Предмет.картинка="topor.png") \(_Предмет.локация="запуск1") \(_Предмет2=1) \(_Предмет2.картинка="apero.ru/public/img/games/34/mech.png") \(_Предмет2.локация="запуск2") \(АПЕРО.инвентарь.скрыть=1) Выбери разрешение экрана: \(р800,800x600) \(р652,652x489) \(р500,500x375) \(р400,400x300) \(тест,Простые тесты/примеры) \СТОП \картинка \КАРТИНКА("sun9-30.userapi.com/c849220/v849220312/79989/0Y9u5s_AGBY.jpg") \СТОП \тест \(картинка) \(тест2,передвинуть) \СТОП \тест2 \(АПЕРО.анимация=0) \(АПЕРО.анимация.количество=1) \(АПЕРО.анимация.номер1.отступ.слева=300)//сделать отступ 300 слева \(АПЕРО.анимация.номер1.отступ.слева.время=2500)//время анимации 2500 мс \(картинка) \(АПЕРО.анимация=0) //сбросить анимацию, чтобы не двигались следующие элементы, например кнопка \(тест2,еще раз) \(тест3,обратно и вниз) \СТОП \тест3 \(АПЕРО.блок.отступ.слева=300) \(АПЕРО.анимация=0) \(АПЕРО.анимация.количество=2)//сколько этапов анимация \(АПЕРО.анимация.номер1.отступ.слева="нет")//сделать отступ 0 слева \(АПЕРО.анимация.номер1.отступ.сверху=300)//сделать отступ 300 сверху, в одном этапе может быть сколько угодно разных свойств \(АПЕРО.анимация.номер2.отступ.слева=300)//вернуть отступ 300 слева \(АПЕРО.анимация.номер2.отступ.сверху="нет")//вернуть отступ 0 сверху //по умолчанию время анимации 1000мс. \(картинка) \(АПЕРО.анимация=0) \(АПЕРО.блок.отступ=0) \(тест3,еще раз) \(тест4,несколько) \СТОП \тест4 \(АПЕРО.анимация.количество=1) \(АПЕРО.анимация.номер1.отступ.слева=300)//сделать отступ 300 слева \(картинка) \(картинка) \(картинка) \(картинка) \(АПЕРО.анимация=0) \(тест4,еще раз несколько) \(тест5,теперь поочереди) \СТОП \тест5 \(АПЕРО.анимация.количество=1) \(АПЕРО.анимация.номер1.отступ.слева=300)//сделать отступ 300 слева \(АПЕРО.анимация.пауза=50)//пауза 50 мс между запусками \(АПЕРО.анимация.пауза.в очередь=1) \(картинка) \(картинка) \(картинка) Текст или \(тест5,кнопка) тоже двигаются \(АПЕРО.анимация=0) \(тест5,еще раз поочереди) \(тест6,повторять анимацию) \СТОП \тест6 \(АПЕРО.анимация.количество=1) \(АПЕРО.анимация.номер1.отступ.слева=300) \(АПЕРО.анимация.повтор=1000) \(картинка) \(картинка) \(картинка) Текст или \(тест5,кнопка) тоже двигаются \(АПЕРО.анимация=0) \(тест7,повторять поочереди) \(заново,в начало) \СТОП \тест7 \(АПЕРО.анимация.количество=1) \(АПЕРО.анимация.номер1.отступ.слева=300) \(АПЕРО.анимация.пауза=50)//пауза 50 мс между запусками \(АПЕРО.анимация.пауза.в очередь=1)//пауза плюсуется к каждому новому элементу, тем самым создается иллюзия очереди \(АПЕРО.анимация.повтор=1000)//повторить последние 2 блока через 1000мс \(картинка) \(картинка) \(картинка) Текст или \(тест5,кнопка) тоже двигаются \(АПЕРО.анимация=0) \(тест7,повторять поочереди) \(тест8,закрепим результат) \СТОП \тест8 \(тест8,обновить) \(заново,в начало) \(АПЕРО.анимация=0) \(АПЕРО.анимация.количество=4) //запускаем рисунок вниз-вправо-вверх-влево по 1000мс на поворот по умолчанию \(АПЕРО.анимация.номер1.отступ.сверху=300) \(АПЕРО.анимация.номер1.отступ.сверху.в очередь=1)//добавляем каждое свойство очередь, чтобы не выполнялись одновременно \(АПЕРО.анимация.номер2.отступ.слева=300) \(АПЕРО.анимация.номер2.отступ.слева.в очередь=1) \(АПЕРО.анимация.номер3.отступ.сверху="нет") \(АПЕРО.анимация.номер3.отступ.сверху.в очередь=1) \(АПЕРО.анимация.номер4.отступ.слева="нет") \(АПЕРО.анимация.номер4.отступ.слева.в очередь=1) \(АПЕРО.анимация.повтор=4000) //повторяем каждые 4000мс \(картинка) \(АПЕРО.анимация=0) \СТОП \напечатать инвентарь \(позиция по высоте=позиция по высоте+1) \ЕСЛИ(высота инвентаря*позиция по высоте>высота-высота текстового поля) \ТО \(позиция по высоте=1)\(позиция по ширине=позиция по ширине+1) \(АПЕРО.блок.отступ.сверху=высота инвентаря*(позиция по высоте-1)) \(АПЕРО.блок.отступ.слева=ширина-(высота инвентаря*(позиция по ширине+1))) \(инв="_"+АПЕРО.инвентарь.номер\(инвентарь номер)) \(\(\(инв).локация),\КАРТИНКА(\(инв).картинка)[s]) \СТОП(повтор) \запуск1 \(пропустить текст=1) \(последний текст="Телефон-плюшка. Можно колоть орехи.") \(инвентарь открыт=0) \СТОП(без обновления текста) \запуск2 \(пропустить текст=1) \(последний текст="Самодельная рогатка.") \(инвентарь открыт=0) \СТОП(без обновления текста) \р800 \(ширина=800) \(высота текста=18) \(высота текстового поля=80) \(высота инвентаря=80) \(коэф=1) \СТОП(перезапуск) \р652 \(ширина=652) \(высота текста=18) \(высота текстового поля=80) \(высота инвентаря=70) \(коэф=652/800) \СТОП(перезапуск) \р500 \(ширина=500) \(высота текста=18) \(высота текстового поля=80) \(высота инвентаря=60) \(коэф=500/800) \(доп часть изображения=2) \СТОП(перезапуск) \р400 \(ширина=400) \(высота текста=14) \(высота текстового поля=80) \(высота инвентаря=50) \(коэф=400/800) \(доп часть изображения=2) \СТОП(перезапуск) \перезапуск \(обновить предметы) \запуск \(пропустить текст=0) \без обновления текста \(инвентарь номер=0) \ЕСЛИ (пропустить текст=0) \(следующий текст) \ЕСЛИ (АПЕРО.конец=0) \ТО ( \(установки до) \(последний текст) \(установки после) \ЕСЛИ(инвентарь открыт=1) \ТО (\(позиция по высоте=0)\(позиция по ширине=0)\(повтор) \) \ИНАЧЕ (\(нарисовать рюкзак) \) //\(вывести кнопки) \СТОП \нарисовать рюкзак \(АПЕРО.блок.отступ.сверху=0) \(АПЕРО.блок.отступ.слева=ширина-50) \(открыть инвентарь,\КАРТИНКА("bag.png")[s]) \) \СТОП \вывести кнопки /*\(икс=0) \ЦИКЛ (икс<кнопки.количество) \ТО \(икс=икс+1)\(\(кнопки(икс)),\(кнопки текст(икс)))*/ \(кнопки(1)),\(кнопки текст(1)) \(кнопки(2)),\(кнопки текст(2)) \(т5,Исчезнуть) [] \СТОП \следующий текст \ЕСЛИ(номер<6) \ТО (\(номер=номер+1)\) \ИНАЧЕ ( \(АПЕРО.конец=1) \(АПЕРО.блок.позиция=0) \) \(последний текст=т\(номер)) \СТОП \открыть инвентарь \(инвентарь открыт=1) \(пропустить текст=1) \СТОП(без обновления текста) \повтор \ЕСЛИ (инвентарь номер<АПЕРО.инвентарь.количество) \ТО \(инвентарь номер=инвентарь номер+1)\СТОП(напечатать инвентарь) \СТОП \т1 \(фон="1.jpg") \ЕСЛИ (первый запуск=0) \ТО ( \(персонаж.сверху=35) \(персонаж.высота=40) \(персонаж.слева=-15) \(персонаж="mel"+доп часть изображения+".png") \(первый запуск=1) \(персонаж.прозрачность=100) \) [size=22]Пример визуальной новеллы на Аперо.[/size] \СТОП \т2 \(персонаж.анимация.слева=35) \(персонаж.анимация.высота=40) \(персонаж.анимация.прозрачность="нет") \(добавить кнопку("т5";"Сменить фон")) \(добавить кнопку("т6";"Исчезнуть")) Появление персонажа. \СТОП \т3 \(персонаж.анимация.слева=60) \(персонаж.анимация.сверху=39) \(персонаж.анимация.высота=60) Перемещение и увеличение персонажа. \СТОП \т4 \(персонаж.анимация.прозрачность=100) Скрытие персонажа. \СТОП \т5 \(фон="2.jpg") \(персонаж.анимация.прозрачность="нет") Смена фона, появление персонажа. \СТОП \т6 \(персонаж.анимация.слева=75) \(персонаж.анимация.сверху=35) \(персонаж.анимация.высота=40) Перемещение и уменьшение персонажа. \СТОП \добавить кнопку(локация; текст кнопки) \(кнопки.количество=кнопки.количество+1) \(кнопки(количество кнопок)=локация) \(кнопки текст(количество кнопок)=текст кнопки) \СТОП \установки до \(высота=ширина*0.75) \ЕСЛИ (фон=0) \(фон="1.jpg") \(фон сменился=0) \(АПЕРО.блок=0) \(АПЕРО.блок.тип="контейнер") \(АПЕРО.блок.позиция="абсолютная") \(АПЕРО.блок.ширина=ширина) \(АПЕРО.блок.высота=высота) \(кнопки=0) \ЕСЛИ (предыдущий фон!=фон) \ТО ( \КАРТИНКА(предыдущий фон)[s] \) \ЕСЛИ (предыдущий фон!=фон) \ТО ( \(АПЕРО.блок.прозрачность=1) \(АПЕРО.анимация.номер1.прозрачность="нет") \(АПЕРО.анимация.номер1.прозрачность.время=1000) \) \КАРТИНКА(фон)[s] \(выключить анимацию) \(АПЕРО.блок.прозрачность=0) \ЕСЛИ (персонаж!=0) \ТО ( \(АПЕРО.блок.ширина=высота*персонаж.ширина/100) \(АПЕРО.блок.высота=высота*персонаж.высота/100) \(АПЕРО.блок.отступ.сверху=высота*персонаж.сверху/100) \(АПЕРО.блок.отступ.слева=ширина*персонаж.слева/100) \(АПЕРО.блок.прозрачность=персонаж.прозрачность) \(нужна анимация) \КАРТИНКА(персонаж)[s] \) \(выключить анимацию) []\(АПЕРО.блок.прозрачность=0) \(АПЕРО.блок.обтекание="заново") \(АПЕРО.блок.цвет="rgba(0,0,0,0.7)") \(АПЕРО.блок.отступ.слева=0) \(АПЕРО.блок.отступ.сверху=высота-высота текстового поля-10) \(АПЕРО.блок.ширина=ширина-10) \(АПЕРО.блок.высота=высота текстового поля) \(АПЕРО.блок.цвет текста="#ffffff") \(АПЕРО.блок.внутренний отступ.общий=5) \(АПЕРО.блок.выравнивание текста="по ширине") \(АПЕРО.блок.высота текста=высота текста) \(предыдущий фон=фон) \СТОП \нужна анимация \ЕСЛИ (персонаж.анимация.слева>0) \ТО ( \(АПЕРО.анимация.номер1.отступ.слева=ширина*персонаж.анимация.слева/100) \(персонаж.слева=персонаж.анимация.слева) \(персонаж.анимация.слева=0) \(АПЕРО.анимация.номер1.отступ.слева.время=2000) \) \ЕСЛИ (персонаж.анимация.сверху>0) \ТО ( \(АПЕРО.анимация.номер1.отступ.сверху=высота*персонаж.анимация.сверху/100) \(персонаж.сверху=персонаж.анимация.сверху) \(персонаж.анимация.сверху=0) \(АПЕРО.анимация.номер1.отступ.сверху.время=2000) \) \ЕСЛИ (персонаж.анимация.прозрачность>0 ИЛИ персонаж.анимация.прозрачность="нет") \ТО ( \ЕСЛИ (персонаж.анимация.прозрачность="нет") \ТО ( \(АПЕРО.анимация.номер1.прозрачность="нет") \) \ИНАЧЕ ( \(АПЕРО.анимация.номер1.прозрачность=персонаж.анимация.прозрачность/100) \) \(персонаж.прозрачность=персонаж.анимация.прозрачность) \(персонаж.анимация.прозрачность=0) \(АПЕРО.анимация.номер1.прозрачность.время=2000) \) \ЕСЛИ (персонаж.анимация.ширина>0) \ТО ( \(АПЕРО.анимация.номер1.ширина=ширина*персонаж.анимация.ширина/100) \(персонаж.ширина=персонаж.анимация.ширина) \(персонаж.анимация.ширина=0) \(АПЕРО.анимация.номер1.ширина.время=2000) \) \ЕСЛИ (персонаж.анимация.высота>0) \ТО ( \(АПЕРО.анимация.номер1.высота=высота*персонаж.анимация.высота/100) \(персонаж.высота=персонаж.анимация.высота) \(персонаж.анимация.высота=0) \(АПЕРО.анимация.номер1.высота.время=2000) \) \СТОП \выключить анимацию \(АПЕРО.анимация=0) \(АПЕРО.анимация.количество=1) [] \СТОП \установки после \(АПЕРО.блок.цвет=0) \(АПЕРО.блок.отступ.сверху=0) \(АПЕРО.блок.внутренний отступ.общий=0) \(АПЕРО.блок.ширина=ширина) \(АПЕРО.блок.высота=высота) \(запуск,\КАРТИНКА("layer.png")[s]) \(АПЕРО.блок.ширина=высота инвентаря) \(АПЕРО.блок.высота=высота инвентаря) \(АПЕРО.блок.обтекание="заново") \(АПЕРО.блок.цвет=0) \(АПЕРО.блок.внутренний отступ.общий=0) \(АПЕРО.блок.отступ.сверху=0) [] \СТОП \обновить предметы \(АПЕРО.минимальная ширина=ширина) \(АПЕРО.минимальная высота=высота) \СТОП