Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Задача: загрузить jpg и плавно прокрутить (http://www.flasher.ru/forum/showthread.php?t=206874)

cvasy 11.03.2014 12:03

Задача: загрузить jpg и плавно прокрутить
 
Код AS3:

import flash.display.Bitmap; 
import flash.display.BitmapData;
import flash.events.Event;
import flash.display.Loader;
 
const IMAGE_URL:String = "img/001.jpg";
 
var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete);
ldr.load(new URLRequest(IMAGE_URL));
 
var myBitmap:Bitmap = new Bitmap;
var myBitmapDataObject:BitmapData = new BitmapData(1680, 1050, false, 0x00FF0000);
 
function ldr_complete(event:Event):void {
 
        myBitmap = new Bitmap( (ldr.content as Bitmap).bitmapData );
        myBitmap.x = 0;
        myBitmap.y = 0;
        addChild(myBitmap);
        addEventListener(Event.ENTER_FRAME, scrollBitmap);
}
 
function scrollBitmap(event:Event):void {
        // а вот тут-то и ошибку выдает
    myBitmap.scroll(-1, 0);
}

Новичок я совсем:rolleyes:
Что я делаю не так?

Isfet 11.03.2014 12:23

Код AS3:

const SCROLL_SPEED:int = -1;   // скорость перемещения
function scrollBitmap(event:Event):void {
      myBitmap.y += SCROLL_SPEED; 
}

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

cvasy 11.03.2014 12:59

Хотелось бы сделать вот такое
но с загружаемой картинкой

samana 11.03.2014 13:09

Вы прокручиваете Bitmap, а вам нужно это делать с BitmapData, по этому и ошибка.
Код AS3:

myBitmap.bitmapData.scroll(-1,0);


Isfet 11.03.2014 13:13

Код AS3:

var ldr:Loader = new Loader();
                        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, ldr_complete);
                        ldr.load(new URLRequest(IMAGE_URL));
 
                        var myBitmap:Bitmap;
                        var myBitmapDataObject:BitmapData;
 
                        function ldr_complete(event:Event):void {
 
                                myBitmapDataObject = event.target.content.bitmapData as BitmapData;
 
 
                                myBitmap = new Bitmap(myBitmapDataObject );
                                myBitmap.x = 0;
                                myBitmap.y = 0;
                                addChild(myBitmap);
                                addEventListener(Event.ENTER_FRAME, scrollBitmap);
                        }
 
                        function scrollBitmap(event:Event):void {
                                // а вот тут-то и ошибку выдает
                                myBitmapDataObject.scroll(-1, 0);
                        }

Добавлено через 1 минуту
и еще у вас объект myBitmapDataObject - пустой, а в нем должна лежать загруженная картинка

cvasy 11.03.2014 15:24

Цитата:

Сообщение от samana (Сообщение 1161466)
Вы прокручиваете Bitmap, а вам нужно это делать с BitmapData, по этому и ошибка.
Код AS3:

myBitmap.bitmapData.scroll(-1,0);


Спасибо! ЗАРАБОТАЛО!


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

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