2010-12-29 3 views
0

Я делаю рафтинг по реке в Flash AS3 для Flash Player 9. В моей игре мой плот статичен и река движется вертикально, игровая зона 760x620, а фоновой клип - 1800x700, у меня 5 фоновый клип и прикрепление во время выполнения. и каждый фон с берегом реки, камнями, Сильными порогами, рыбами и т. д. Можете ли вы предложить мне оптимизировать способ панорамирования этих клипов без капли FPS? Я тоже попробовал scrollRect.Фоновая панорама во Flash AS3

Выходной брак & С Новым годом.

+0

как вы его прокручиваете? – www0z0k

ответ

0

Разделить фоновый клип на несколько частей. Учитывая, что размер фона не кратен размеру экрана, я бы предложил по крайней мере 6 частей ширины 300 пикселей, лучше всего 12 частей ширины по 150 пикселей каждый. Добавьте все это один раз в один пустой контейнер Sprite, переместившись с x=0 на x = -container.width, и еще раз на один контейнер, перемещающийся от x=container.width до x=0. Я бы рекомендовал использовать Tweener.

Проверьте положение вашего контейнера при каждом обновлении фрейма, установите visible = false на все части, которые не будут видны в области экрана. Установите visible = true на другие.

+0

Я просто перечитываю ваш вопрос и вижу, что вы перемещаете вещи по вертикали. В этом случае сделайте части равными по высоте и измените y позицию вместо x;) – weltraumpirat

0

соедините все растровые изображения в одном спрайте и переместите этот спрайт по вертикали. Вы можете проверить растровые изображения за пределами границ с помощью теста ударов.

Я бы не рекомендовал никаких твинеров, я думаю, что это неудобно усложняет ситуацию.

Вместо этого создайте свою собственную функцию для перемещения фона с установленным шагом в каждый кадр, таким образом вы можете значительно упростить привязку его к скорости лодки.

Что касается оптимизации, все эксперты as3 советуют сначала запустить его и оптимизировать. Вы можете обнаружить, что все работает отлично, без лишних хлопот.

Удачи