The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания Apple запатентовала анимацию перелистывания страниц"
Отправлено pavlinux, 17-Ноя-12 15:09 
Какой  патент, эту фичу я ещё в играх под DOS видел, мож Syberia иль Shadow Warrior
--

1996 год  http://zxpress.ru/article.php?id=5268


╒══════════════════════════════╕
│░░░░░░ ПРОГРАММИРОВАНИЕ ░░░░░░│
╘══════════════════════════════╛

Кузнецов Владимир
───────────────────
   HaLLo! С Вами постоянный кор-
респондент рубрики "Программиро-
вание". За лето произошло немало
грандиозных событий (Развалилась
"Omega H.C.",успешно прошел слет
демомейкeров "Enlight'96" с  вы-
текающими оттуда последствиями,я
приобрел  себе  "Amiga  1200"  и
д.р.) и накопилась масса идей. С
одной из них я сейчас поделюсь с
Вами.
   Примерно  с  1994  года можно
встретить  в различных интрухах,
демонстрашках и т.п.эффект пере-
листывания страниц текста по си-
нусу.Я уверен, что кто-то из Вас
пытался   повторить  этот эффект
(без взлома оригинала),но ничего
не получилось, т.к. обычные спо-
собы  для  этого  не подходят. К
решению этой  проблемы  надо по-
дойти  нестандартно, что мы сей-
час и сделаем. Но для начала ус-
ловимся о распределении памяти:

#FFFF┌──────────────────────┐
      │ 2-ая страница текста │
#F000│                      │
#EFFF├──────────────────────┤
      │ 1-ая страница текста │
      │                      │
#E000└──────────────────────┘

Адреса можно взять и  другие, но
эти выбраны в целях экономии па-
мяти.
Принцип  эффекта очень прост:
1. Пропечатываем  1-ую  страницу
   (для  этого  необходимо будет
   составить  собственную проце-
   дуру печати символа);
2. Выводим ее на экран;
3. Делаем паузу;
4. Пропечатываем 2-ую страницу;
5. Выводим ее на экран;
6. Делаем паузу;
7. Повторяем все с начала.
Нас  будут  интересовать  только
пункты  вывода  буфера на экран.
Сделать  это  можно  несколькими
путями.   Например  LDIR'ом  или
стеком,  а  более  эффективным в
данном случае будет очень ориги-
нальный метод:
PUT_B:  LD (P_EXIT+1),SP
        LD SP,HL
        POP HL
        LD (#4800),HL
        POP HL
        LD (#4802),HL
        POP HL
        LD (#4804),HL
        .....
        POP HL
        LD (#57FE),HL
P_EXIT: LD SP,0
        RET
Гениально!  Мы  убили  сразу 2-х
зайцев:скопировали буфер (на ко-
пирование одного байта  тратится
всего 13 тактов!!!) и  наплевали
на нелинейность экрана! Но  воз-
никает другая проблема -для про-
цедуры   копирования   требуется
ровно в 2 раза больше памяти,чем
выводимый буфер. Отсюда  следует
вывод:  если Вы пишете настолько
"гениальную"  программу,  что не
можете  позволить  себе  лишнего
байта, то этот метод не для Вас.
Нет необходимости  набивать "ко-
пировалку" вручную. Можно  заме-
тить, что "копировалка"  состоит
из повторяющихся  команд,поэтому
я советую  писать для таких  дел
инсталятор  ( процедуру, которая
сама создаст то, что Вам нужно).
Теперь  нужно  только   на  вход
"копировалки" в регистровой паре
HL подать адрес начала спрайта,а
все остальное она сделает сама.
   Для   смены   экранов   нужно
расчитать таблицу значений коси-
нуса по формуле:
X=INT(64+63.5*COS(I*PI/64)), где
X - результат
I - параметр (FOR I=0 TO 127)
Первой   странице  соответствуют
значения для I=[0;63],  а второй
странице - I=[64;127].
   Я упрощу себе задачу, исполь-
зуя   готовый  спрайт  (отпадают
процедуры    печати    символов,
контроля за положением указателя
в буфере  и паузы  между страни-
цами).  В  результате  получился
просмотрщик  картинок 256 линий.

   Чтобы  не  быть голословным я
подготовил  программку,  которая
демонстрирует  2 картинки разме-
рами 256x256 точек. Переключение
картинок  происходит  по нажатию
клавиши ENTER, а выход из демон-
страции  по SPACE.ЯЬ
В  приложении  Вы найдете текст
программы для TASM ( не забудьте
загрузить русский шрифт TASM.FNT
чтобы читать мои коментарии )  и
файлы картинок ROSE.DAT и  CHER.
DAT(спрайты размером 8192 байта)

P.S. Картинки  (256x256) я  взял
     из графического редадактора
     Personal Paint 6.4  (Amiga)
     и там же их конвертировал в
     2 цвета.
                     i'LL B BaCK
             SPeCiaL 4 u, Mr.Key

---
1999 год - Системы цифровых видеоэффектов Sony DME-3000


Функции и характеристики системы:

- выразительные нелинейные 2D- и 3D-эффекты: скольжение, вращение, перелистывание страниц и   сворачивание изображения в сферу;

[сообщение отредактировано модератором]

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру