Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   срисовать Stage с помощью BitmapData (http://www.flasher.ru/forum/showthread.php?t=156451)

Punk T-34 22.05.2011 00:20

срисовать Stage с помощью BitmapData
 
Привет.
Когда пытаюсь сделать "скриншот" сцены с помощью этого куска кода, то он вроде бы это делает. Но только созданная картинка белая. Она стоит там, куда я её поставил и размер у неё соответствует размеру сцены, но все пиксели белые.

Скажите, что я делаю не так:

Код AS1/AS2:

import flash.display.*;
this.createEmptyMovieClip('pic',this.getNextHighestDepth());
var backBit:BitmapData = new BitmapData(Stage.width, Stage.height, true);
pic.attachBitmap(backBit,pic.getNextHighestDepth(),"auto",true);
backBit.draw(Stage);
pic._x = 100;
pic._y = 100;

битмап сцены на фоне самой сцены:

http://h1813090.stratoserver.net/fil...IyF2UcK0IQ.png

Заранее благодарен.

Flashrunner 22.05.2011 15:52

в AS2 Stage - не визуальный объект

Punk T-34 22.05.2011 15:55

то есть срисовывать нужно только муви-клипы или графические символы с кнопками?..

Flashrunner 22.05.2011 16:05

ну битмапы еще )
Наверное нужно использовать _root или _level, чтобы срисовать сцену. Или клип-контейнер сцены

Punk T-34 22.05.2011 16:45

спасибо! работает! Вот работающий пример:
Код AS1/AS2:

import flash.display.*;
var newWidth = Stage.width;
var newHeight = Stage.height;
this.createEmptyMovieClip('pic',this.getNextHighestDepth());
var backBit:BitmapData = new BitmapData(newWidth, newHeight, true);
pic.attachBitmap(backBit,pic.getNextHighestDepth(),"auto",true);
backBit.draw(_root);



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

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