User Tag List

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя
Показано с 31 по 40 из 70

Тема: C чего начать геймдэв для горбатыша?

  1. #31

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    мне на асме надо - по адресу вызываются тайлы, а это скажется на скорости игры.

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,288
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    мне на асме надо - по адресу вызываются тайлы, а это скажется на скорости игры.
    LD HL,ADDR ; ADDR=256*H+L

    или я чего-то не догоняю

  4. #33

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как раз таки обратную операцию надо выполнить.

    Вобщем в регистр заносим байт (номер тайла)
    Переводим его в адрес (4e4+k*n, где n - номер фрэйма
    k - объём фрейма в байтах (40000 начало расположения тайлов))
    Именно это выражение должно быть представленно ввиде двух байт, которые заносятся в регистры процедуры вывода тайла на экран.

  5. #34

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ну и занеси в регистр B чегонить, в цикле добавь и курага, не?

    типа

    ld b, нумер
    ld hl, 40000
    ld de, размер фрейма в байтах
    L1 add hl, de
    djnz L1

    не?
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

  6. #35

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да - это самое то.
    Только когда я указываю на нулевой фрейм на экране пусто (с 1...и т.д. нормально вызываются кадры)

    ---------- Post added at 23:47 ---------- Previous post was at 23:45 ----------

    по-идее при b = 0 , hl= 40000

    ---------- Post added at 23:48 ---------- Previous post was at 23:47 ----------

    Но если убрать эту процедуру перевода и вместо неё поставить ld hl,40000 картинка вырисовывается та, что надо

    ---------- Post added at 23:49 ---------- Previous post was at 23:48 ----------

    ладно, просто сделаю смещение 40000-размер кадра

    ---------- Post added 17.01.2012 at 00:01 ---------- Previous post was 16.01.2012 at 23:49 ----------

    Цитата Сообщение от Andrew771 Посмотреть сообщение
    LD B,Y
    LD C,X

    LD A,B
    LD H,A
    RRCA
    RRCA
    RRCA
    AND A,224
    ADD A,C
    LD L,A
    LD A,H
    AND 24
    OR 64
    LD H,A
    А вот перевод координат чего-то не работает.

  7. #36

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    да - это самое то.
    Только когда я указываю на нулевой фрейм на экране пусто (с 1...и т.д. нормально вызываются кадры)
    При b = 0 считается, что оно равно 256, ибо djnz сначала уменьшает счетчик, а потом сравнивает его с 0. Если хочется получать адрес нулевого элеманта, надо что-то типа этого:
    Код:
            ld b,нумер
            ld hl,40000
            inc b
            dec b
            ret z
            ld de,размер фрейма в байтах
    L1      add hl,de
            djnz L1
    Последний раз редактировалось Alex Rider; 17.01.2012 в 00:50.

  8. #37

    Регистрация
    08.05.2011
    Адрес
    г. Измаил, Украина
    Сообщений
    3,216
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Там ни одна прога (что касается вывода спрайтов) нормально не компилится
    Все там прекрасно работает,но есть опечатки.но все можно обдумать и исправить - на себе проверил.напиши какая имено прога не работала,гляну краем глаза
    Радио-Губитель Канал на YouTube

  9. #38

    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    279
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Код:
            ld b,нумер
            ld hl,40000
            inc b
            dec b
            ret z
            ld de,размер фрейма в байтах
    L1      add hl,de
            djnz L1
    А какой размер фрейма? На 256 нацело делится?

  10. #39

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,311
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    186
    Поблагодарили
    89 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от palsw Посмотреть сообщение
    Все там прекрасно работает,но есть опечатки.но все можно обдумать и исправить - на себе проверил.напиши какая имено прога не работала,гляну краем глаза
    Там , где пример с чуваком из fist и ещё куча примеров со спрайтами...
    Но я уже начал тайлово делать.
    Нарисовал глав. ге-я и второстепенные объекты.

    Цитата Сообщение от AndTorp Посмотреть сообщение
    А какой размер фрейма?
    288 байт = 48*48 пикселей = 6*6 знакомест

    ---------- Post added at 03:29 ---------- Previous post was at 03:28 ----------

    Мне сейчас осталось разобраться только с переводом координат в байты.

  11. #40

    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    279
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    Мне сейчас осталось разобраться только с переводом координат в байты.
    Нашел, вроде работает:
    Код:
    ;H=X, L=Y
    LD     A,L
    AND   7
    RRCA
    RRCA
    RRCA
    OR     H
    LD     H,L
    LD     L,A
    LD     A,H
    AND    #18
    OR     #40
    LD     H,A
    RET
    Последний раз редактировалось AndTorp; 17.01.2012 в 05:45.

Страница 4 из 7 ПерваяПервая 1234567 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Голая Амига с чего начать
    от alex51 в разделе Amiga
    Ответов: 335
    Последнее: 22.02.2016, 00:26
  2. Концепции? Для чего?
    от GNTB в разделе ZX Концепции
    Ответов: 107
    Последнее: 09.01.2010, 14:08
  3. Как заставить плеер PT3 начать играть заново?
    от GriV в разделе Программирование
    Ответов: 18
    Последнее: 17.10.2008, 14:17
  4. Подскажите с чего начать знакомство со спекки...
    от aleksej в разделе Несортированное железо
    Ответов: 33
    Последнее: 28.12.2005, 23:00

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •