PDA

Просмотр полной версии : Движение текстуры...


Скрипун
14.11.2006, 13:54
Делаю игру...
Зесля (трава) у меня состоит из крадратиков 200*200 jpeg ... я их цыклом for () {
for () {
//аттацу в мувик
}
}

размер этого мувика(размер всей карты) получаеца ну где-то 25*25... соответственно 25*25*200 пикселей...

И это все я движу.... получается (сами догадываетесь) ужастно... тормозит + эти квадратики то сьежаются, то разезджаются, в общем плохо... Пробвал, тем квадратикам что не видимые в данный момент в поле зрения 550*400, (3*2) давать параметр _visible = false создал класс и акждому присвоил, но то же самое... в общем помогите... как -то ж делают...

miramax
14.11.2006, 16:56
Делаю игру...
Зесля (трава) у меня состоит из крадратиков 200*200 jpeg ... я их цыклом for () {
for () {
//аттацу в мувик
}
}

размер этого мувика(размер всей карты) получаеца ну где-то 25*25... соответственно 25*25*200 пикселей...

И это все я движу.... получается (сами догадываетесь) ужастно... тормозит + эти квадратики то сьежаются, то разезджаются, в общем плохо... Пробвал, тем квадратикам что не видимые в данный момент в поле зрения 550*400, (3*2) давать параметр _visible = false создал класс и акждому присвоил, но то же самое... в общем помогите... как -то ж делают...А ты потом этот мувик в битмапдату. Или разбей на несколько битмап дат, что бы показывать те кусочки что на экране вмещаются.

CorC
14.11.2006, 17:06
может просто попробовать не программно это двигать, а
скажем мувик нарисовать и пусть он циклически играет

FourSide
14.11.2006, 17:44
Типа такого?
http://www.vl.nn.ru/gorod/

Скрипун
15.11.2006, 00:09
ну что-то такое... только не на месте все стоит, а активно должно двигатся (action все таки :) )...
miramax, а как это "мувик в битмапдату"??? У меня еще flash 8 ...

iNils
15.11.2006, 00:42
miramax, а как это "мувик в битмапдату"??? У меня еще flash 8 ...http://www.flasher.ru/forum/showthread.php?t=87970

Dendroid
15.11.2006, 03:40
Всё напрасно... сам подход - нехороший. Спасение флэша от собственной тормознутости - в умении перерисовывать только изменённые фрагменты окна. Сделав что-то, требующее перерисовки всех пикселей в окне, - убил всю прочую оптимизацию перерисовки объектов напрочь. Именно чтобы контролировать этот процесс и придумана кнопка Ctrl-E в тест-плеере.
Что плеер 8-й - тем более, т.к. по моим тестам выходит, что скорость перерисовки в 6-8 плеере падает относительно квадрата линейного размера области перерисовки, а вот в 9-м плеере - уже около корня квадратного на логарифм (спасибо новому рендереру, видимо). :) Это я натестировался в одном панорамном движке (не буду опять ссылку давать ;) )

FourSide
15.11.2006, 12:06
ну что-то такое... только не на месте все стоит, а активно должно двигатся (action все таки :) )...

Попробуй при загрузке карты там нажать на какой-нибудь участок местности (в пределах зоны "города") - должно задвигаться.

Roland
15.11.2006, 14:43
var mc_cont:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());//Мувик который будет содержать в себе другие мувики которые мы конвертим в растр. В него аттачишь все свои 25*25 мувиков.
var myBitmapData:BitmapData = new BitmapData(25*200, 25*200, false, 0xFFDDFF); // Собственно битмап с размерами и заливкой и ещё с кучей опущенных парраметров.
var mc_b:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());//Мувик который будет содержать в себе растр и который мы будем двигать.
mc_b.attachBitmap(myBitmapData, this.getNextHighestDepth());//Аттачим к мувику битмап.
myBitmapData.draw(mc_cont);//Когда нужно бужет двигать мувик, вызываешь этотт метод. И быстро двигаешь мувик содержащий в себе битмап, т.е. mc_b

Когда двигаешь мувик с BitmapData исходному мувику visible=false ставь, чтобы проц не грузить.
А если тебе больше вообще не нужно эти 25*25 мувиков обрабатывать, а только BitmapData двигать, то, сначала myBitmapData.draw(mc_cont);, а потом удаляешь мувик mc_cont и дальше работаешь с mc_b.
Имхо так.