![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 247
|
Сделал по примеру "анта карлова" на его сайте слежение за камерой, ну полученный результат не удовлетворяет.
Main.as stage.addEventListener(Event.ENTER_FRAME, spaceHeroFrame); private function spaceHeroFrame(e:Event):void { if (move_Right) { if (HERO.x < 700) HERO.x += heroSpeed; } if (move_Left) { if (HERO.x > 1) HERO.x -= heroSpeed; } updMapPos(); // Скролл карты } private function updMapPos():void { if (HERO.x < Math.abs(mapLevel.x)+100) {//border mapLevel.hScroll(3); // Вправо } else if (HERO.x > Math.abs(mapLevel.x) + 730-100) {//GameMap.SCR_WIDTH - _border mapLevel.hScroll(-3); // Влево } } private function enterFrameHandler(e:Event):void { /* Прибавляем скорость к положению карты */ this.x += _speedX; this.y += _speedY; /* Горизонтальная прокрутка */ if (this.x > 0) // Выезд за левый край { x = 0; _speedX = 0; } else if (this.x < - 1200 + 730) // Выезд за правый край { this.x = -1200 + 730; _speedX = 0; } /* Применяем торможение к скорости */ _speedX *= .9; _speedY *= .9; } public function hScroll(val:Number):void { _speedX = val; } - до конца длины карты не хочет прокручивать - влево скролл срабатывает на середине экране - когда идет скролл идет не пропорциональная скорость героя которая должна быть без скролла может у кого были такие проблемы как решали ? З.Ы. проблема в методе updMapPos() в Main.as он срабатывает не так как должно на границах.... |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|