![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Игра TDS (вид сверху). Хочу, чтобы при движении персонажа камера сверху следила за ним. Это чисто так образно, на самом деле понимаю, что нужно двигать саму карту, предметы и противников вместо самого персонажа или некой выдуманной "камеры". В общем-то мне всё отлично понятно, кроме самого основного, как мне из всех моих мувиков, которые используются в игре, сделать единый мувик, который я и буду двигать. Ведь не писать же мне в коде сдвиги по х и у каждого мувика отдельно?
На сцену всё добавляется чисто кодом, т.е. перед компиляцией поле пустое. Я бы показал код (так как без него обычно не помогают), но даже не знаю, что именно показать). Если что нужно, напишите). |
|
|||||
|
Регистрация: May 2012
Сообщений: 131
|
все объекты кладите в единый контейнер. его и двигайте по сцене.
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 137
|
Попробовал, ничего не происходит. Вот так создал контейнер
private var Level:MovieClip = new MovieClip(); Вот так в него добавлял Level.addChild(Bg3); Для проверки движение сделал только в одну сторону вот так if (Hero.x >= ((mainx / 2) + sideright)) { Level.x -= Hero.speed; Hero.x = ((mainx / 2) + sideright); } Hero.speed - скорость героя |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 912
|
я делаю так:
public function GameView(){ super(); _camera = new Sprite();//камера - просто спрайт, является контейнером addChild(Dispatcher._store.getBgGame());//задний фон не движимый, если нужен _avatar = new Sprite();//изображение героя _avatar.graphics.beginFill(0xff0000); _avatar.graphics.drawCircle(0, 0, 20); addChild(_camera); _camera.addChild(_avatar); _camera.addChild(Dispatcher._store.getLevelsGraphic());//графика уровня addEventListener(Event.ENTER_FRAME, update); } private function update(evant:Event):void { _avatar.x = ...;//действуем на героя() _avatar.y = ...; _camera.x = -_avatar.x / 2.5 + 20;//действуем на камеру _camera.y = -_avatar.y / 1.5 + 70; } } } Последний раз редактировалось Sintesis; 05.12.2012 в 18:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|