Вторник, 26 Ноября 2024, 00:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Не совпадает параллакс-скроллинг в редакторе и движке.
AlkoshaДата: Вторник, 14 Июля 2015, 22:47 | Сообщение # 1
участник
Сейчас нет на сайте
Движок игры (если это быдло-кодерское творение можно так назвать) написан мною на си-пи-пи.
Редактором игры занимается один мой дружок.
Редактор написан на ява-скрипте. Работает в браузере.

Как реализован скролл у него:
Скроллинг осуществляется трэк-баром вэб-страницы

Код
var far = parseFloat($("#far .farInput input[name='layer1']").val()) || 1.8,
            scroll = window.pageXOffset || 1,
            oldLeft = parseInt($(layer1[i]).attr("oldLeft")),
            zero_scroll = $(layer1[i]).attr("zero_scroll"),
            left = oldLeft + (scroll - zero_scroll)/far;


far - коэффициент удаления от камеры
scroll - скролл в пикселях
oldLeft - позиция , в которую установлена картинка
zero_scroll - позиция скороллбара при установке картинки
Цикл проходится по всем картинкам, в данном случае, для первого слоя и задаёт им новое значение свойства left.

У меня же всё гораздо проще.
Код
           SDL_Rect DestRb1;
                   DestRb1.x = position[i].x-cum.x/far;
                   DestRb1.y = position[i].y-cum.y;

                   DestRb1.w =(tileTex[indextile[i]].rect.w);
                   DestRb1.h =(tileTex[indextile[i]].rect.h);
                   if(DestRb1.x>0-DestRb1.w&&DestRb1.x<800)
{
    // процедура вывода картинок
}

то есть цикл проходится по массиву тайлов, и в соответствии с оффсетом камеры выводит на экран.
cum.x , cum.y - позиция камеры.
far - степень удалённости слоя от камеры.
position[i].x, position[i].y - позиция выводимого тайла.

В общем, при одном и том же значении far в редакторе и в движке разная скорость скролла того или иного слоя.


Сообщение отредактировал Alkosha - Вторник, 14 Июля 2015, 22:56
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг