плавный скроллинг в тайл движке?
Сделал скроллинг по-тайловый, вот так:
Method Draw() For Local x:Byte = 0 Until VisibleX For Local y:Byte = 0 Until VisibleY If Map[x + CameraX + ((y + CameraY) * Width)] = False Tile0.Draw( (x * TTile.Width) , (y * TTile.Height) ) Else Tile1.Draw( (x * TTile.Width) , (y * TTile.Height) ) End If Next Next End Method Блин, не могу сделать плавный (попиксельный) скроллинг карты. Может кто знает как это делается??? |
Re: плавный скроллинг в тайл движке?
При прибавлении значения домножай на что нибудь ;) Например на *0.1
|
Re: плавный скроллинг в тайл движке?
не понял что домножатья? у меня ф-ция апдэйт :
Method Update() If KeyDown(KEY_UP) CameraY :- 1 If KeyDown(KEY_DOWN) CameraY :+ 1 If KeyDown(KEY_RIGHT) CameraX :+ 1 If KeyDown(KEY_LEFT) CameraX :- 1 end method что домножать то? |
Re: плавный скроллинг в тайл движке?
Ну или не +1 а +0.01
|
Re: плавный скроллинг в тайл движке?
Нет, не работает, а другие варианты есть?
|
Re: плавный скроллинг в тайл движке?
тоже самое сделать только объявить cameraX и cameraY как флоат
|
Re: плавный скроллинг в тайл движке?
Сделать 2 значения скорости, и одно значение максимальной скорости, затем к значениям CameraX и CameraY, прибавлять их каждый цикл, а их изменять так:
Пра нажатии вправо: CamXSp#=CamXSp+((CamMaxSp#-CamXSp)*.05) Влево: CamXSp#=CamXSp+((-CamMaxSp#-CamXSp)*.05) И после всех изменений снижение скорости: CamXSp:*.97 Ну и т.п, .05 это значение плавности, с ним можешь поиграться, ну в этом роде делай дальше, примерно так. Я такие плавности применяю, т.к. в них есть эффект резкого разгона. |
Re: плавный скроллинг в тайл движке?
MoKa а можно поподробнее, примерчик какой-нить...
|
Re: плавный скроллинг в тайл движке?
|
Re: плавный скроллинг в тайл движке?
Мока ну ты даешь! Я начинающий, а ты мне такой крутяк предлагаешь ))) я просто в шоке ! Я такое никогда не напишу. Попроще бы чего-нибудь.
|
Re: плавный скроллинг в тайл движке?
Там всё просто, значит истинна в этих строках:
Код:
CamSp#=5 ;Skorostj CamXSp и CamZSp, объяви в глобали. ЗЫ По секрету, это 3 мой код на БМаксе ;) |
Re: плавный скроллинг в тайл движке?
IKdD-IKdA - а что это такое? я так понял что это кнопки для движения камеры. Но почему они друг из друга вычитаются? глобальные координаты камеры это верхний левый или центр камеры?
|
Re: плавный скроллинг в тайл движке?
ну смотри (я про кнопки)
есть выражение ( A-B ) если зажата A то выражение = 1 если B то = -1 если A и B то = 0 тоесть если нажать A то поедем прямо (или куда нам надо) если B то поедем в противоположную сторону если A и B то никуда не поедем :) |
Re: плавный скроллинг в тайл движке?
Цитата:
IKd? - это переменная, к которой привязана кнопка, тоесть: IKdD=KeyDown(Непомню ИД буквы D) ;) Цитата:
|
Re: плавный скроллинг в тайл движке?
Блин с кнопками, это прикольно, я понял. ) У меня получилось, правда есть такая ерунда, что камера продолжает движение после отпускания кнопки до тех пор пока не нажмешь другую кнопку.
|
Часовой пояс GMT +4, время: 22:47. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot