Вопрос с загруженными изображениями
|
|
Gavolot | Дата: Понедельник, 13 Августа 2012, 03:08 | Сообщение # 1 |
Последователь Тени
Сейчас нет на сайте
| я разобрался как загружать из дериктории проекта картинки, но одного не пойму, у них вроде есть x, y. У объектов Bitmap. Все это я заворачивал в объект Sprite, пробовал их двигать, то бишь bitamObject.y += 2; Но изображение сильно дергается, я загружал картинку, фон, 524 на 417. И решил сделать чтобы фон скроллился как в обычном Scroll шутере, так вот сделал все правильно, эффект скроллинга соблюдается, но вот изображение действительно как-то не естественно дергается. Не давно начал работу во флеш девелоп, решил просто посмотреть способы загрузки Bitmap изображений. Про работу с клипами из swc я знаю. Просто вопрос как исправить то, что этот самый Bitmap дергается. Я нечего криминального не делал, просто двигал с помощью EnterFrame объект bitmap.Добавлено (13.08.2012, 03:08) --------------------------------------------- ну и чтобы соблюдать эффект скролинга, таких картинок естественно две, два объекта Bitmap, использующих один BitmapData. Добавлено (13.08.2012, 03:08) --------------------------------------------- Там всего-то надо чтобы каждый кадр картинка двигалась вниз, но она дергается зараза.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
FirestorM | Дата: Понедельник, 13 Августа 2012, 09:18 | Сообщение # 2 |
Блэк-программист
Сейчас нет на сайте
| Gavolot, движение y вызывает рябь. Если что.
Все твои игры говно, ты ничего не умеешь и тебе незачем жить, пока ты не доказал обратного.
|
|
| |
nitrosalat | Дата: Понедельник, 13 Августа 2012, 10:23 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Gavolot, Попробуй у Bitmap.smoothing = true сделать. Либо попробуй вычислять время, которое прошло между кадрами, и умножай на него твининг, примерно так: += 5 * deltatime
Сообщение отредактировал nitrosalat - Понедельник, 13 Августа 2012, 10:26 |
|
| |
Gavolot | Дата: Понедельник, 13 Августа 2012, 22:42 | Сообщение # 4 |
Последователь Тени
Сейчас нет на сайте
| Попробую.Добавлено (13.08.2012, 22:42) --------------------------------------------- Что-то не получилось. Вот код: Code public class Background extends Sprite { private var _imgData:BitmapData; private var _widthImg:Number, _heightImg:Number; private var _img:Bitmap; private var _img_2:Bitmap; private var _load:Loader; private var _dot:Boolean; private var _stg:Sprite; private var _fps:int; private var _fpsCol:int; private var _tm:Timer; private var _contHeight:Number; private var _contWidth:Number; private var _speed:Number; public function Background (image:String, stgWidth:Number = 300, stgHeight:Number = 300, speed:Number = 1, x:int = 0, y:int = 0 ) { //*Регистрируем загрузчик фона*\\ //Инифиализируем необходимые параметры _tm = new Timer(1000); _dot = false; _load = new Loader(); _load.load(new URLRequest(image)); _load.contentLoaderInfo.addEventListener(Event.COMPLETE , backLoad); _speed = speed; _contHeight = stgHeight; _contWidth = stgWidth;
} private function backLoad(e:Event):void { //* Загрузка изображения прошла успешно, подготавливаем две копии фона перед скроллингом *\\ _imgData = e.target.content.bitmapData; _widthImg = _imgData.width; _heightImg = _imgData.height; _img = new Bitmap(_imgData); _img_2 = new Bitmap(_imgData); _img.x = 0; _img.y = 0; _img.smoothing = true; _img_2.smoothing = true; _img_2.y = -_heightImg; //_imgData.dispose(); addChild(_img); addChild(_img_2); addEventListener(Event.ENTER_FRAME, scrollBack); _tm.addEventListener("timer", dotScroll); _tm.start(); } private function dotScroll(e:TimerEvent):void { _dot = true; _fpsCol = _fps; _fps = 0; } private function scrollBack(e:Event):void {
_img.y += _speed; if (_img.y > _contHeight) _img.y = -_heightImg; _img_2.y += _speed; if (_img_2.y > _contHeight) _img_2.y = -_heightImg; _dot = false; } //Функция смены скорости public function set speed(val:Number):void { _speed = val; } //Передаем ширину изображения public function get bitWidth():Number { return _widthImg; } //Передаем высоту изображения public function get bitHeight():Number { return _heightImg; } }
Чего я только не пробовал, пробовал даже каждую секунду и меньше умножать скорость картинок на фпс)) Сглаживание тоже не помогло.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
nitrosalat | Дата: Вторник, 14 Августа 2012, 09:39 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Gavolot,можно на swfшку посмотреть?
|
|
| |