Движок игры (если это быдло-кодерское творение можно так назвать) написан мною на си-пи-пи.
Редактором игры занимается один мой дружок.
Редактор написан на ява-скрипте. Работает в браузере.
Как реализован скролл у него:
Скроллинг осуществляется трэк-баром вэб-страницы
Код
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 в редакторе и в движке разная скорость скролла того или иного слоя.