Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Flash "render" (http://www.flasher.ru/forum/showthread.php?t=102152)

Max3600 10.10.2007 01:29

Flash "render"
 
Привет всем. Народ, можете мне помочь решить вот такую проблемку:
создал я мини игру, в которой персонаж находится по центру, а когда нажимаешь на клавиши перемещения, то прокручивается просто фон, который дорисован за пределами флеш окна. Когда протестировал, то ужаснулся, всё затормозило. Я пробовал качество понизить, но это никакого толку не дало. Но на днях играл тоже во флешку, где фон прокручивается и заметил одну вещь, что лишний фон там просто на глазах отрисовывается, как рендерит будто в реальном времени.

Может кто подскажет как это осуществить? Чтоб фон за пределами видимости просто был отсечён (не было его), а прорисовывался он по мере передвижения персонажа.
(P.S.: кто знает пожалуста напишите по подробнее).

CorC 10.10.2007 10:28

делать фон по клеточкам, при выходе клеточек за пределы видимости их удалять, при входе - рисовать (attachMovieClip, removeMovieClip)

Ромастый 10.10.2007 15:35

BitmapData.copyPixels, и ничего не надо резать на квадраты.

Kikasso 10.10.2007 15:41

BitmapData.scroll, а недостающее отрисовать.

Ромастый 10.10.2007 16:06

Цитата:

Сообщение от Kikasso
BitmapData.scroll, а недостающее отрисовать.

Можно, вот только "недостающее" откуда-то отрисовывать надо. Так?
С copyPixels проще. Логически делим "сурсовый" битмап на 4 части, в зависимости от его ориентации относительно персонажа (краев экрана, неважно) и перерисовываем, поменяв прямоугольники местами по-диагонали.
Со scroll же все равно придется заморачиваться с дополнительным дорисовыванием с разных сторон.

Kikasso 10.10.2007 16:56

Ну хорошо, вот вы слева пикселы взяли, направо положили. Теперь надо бы взять справа и положить налево, да они уже закрашены.
Так что все равно нужна еще одна битмапа - оригинал..

Ромастый 10.10.2007 17:01

Вложений: 2
Конечно, нужен оригинал. Для scroll он тоже нужен будет, чтобы дорисовать недостающее.
Вот, набросал на скору руку

Блин, вот я тормоз. :taunt:
Тоже самое гораздо проще сделать через MovieClip.beginBitmapFill
Матрицей задавать смещение, и третьим параметром (repeat) указать true.

Max3600 10.10.2007 20:50

Народ, я в скриптовании не очень. Но поди кто-нибудь поможет мне и кинет исходник простенький, где фон за пределами экрана удаляется, а я на месте разберусь, а то не понятно.
(P.S.:Желательно исходник на Flash 8 и управлять фоном при помощи клавиш на клавиатуре).

Nirth 10.10.2007 21:46

Цитата:

Народ, я в скриптовании не очень. Но поди кто-нибудь поможет мне и кинет исходник простенький, где фон за пределами экрана удаляется, а я на месте разберусь, а то не понятно.
Поверьте мне если вы не разбираетесь в программировании, то вам стоит либо найти напарника либо научится самому. Делать игры без навыков программирования еще не у кого не получалось.

Max3600 11.10.2007 01:22

Ну, всё-таки попробовать, у меня ранее всё получалось нормально, и навыки есть. У меня всё готово в игре, только фишки этой не хватает.
Без этой фишки всё тормозит жутко, т.к. местность далеко за пределами прорисована и много мелочей там нарисовано.

Поможете иль нет с исходником, пожалуйста? Чтоб фон за пределами видимости удаляло, а управлять перемещение фона под стрелками, а не мышкой.


Часовой пояс GMT +4, время: 13:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.