Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2010, 13:15
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 1  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
По умолчанию Не работает в ВК функция draw класса BitmapData - так и должно быть?

Приложение подключено через FLASH-контейнер.

Вот этот код работает на декстопе, но не работает после загрузки в ВК (containerBasic - контейнер с объектами, containerOverGame - слой поверх игры):

Код AS3:
			var bmpdata:BitmapData = new BitmapData(800, 600);
			bmpdata.draw(containerBasic);
			var bitmap:Bitmap = new Bitmap(bmpdata);
 
			bitmap.x = 200;
			bitmap.y = 200;
			bitmap.scaleX = 0.5;
			bitmap.scaleY = 0.5;
 
			containerOverGame.addChild(bitmap);

Старый 22.03.2010, 13:46
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А ошибки какие-то вылетают? Возможно, политика безопасности отрисовать не дает.

Старый 22.03.2010, 13:57
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 3  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Ошибок как таковых нет.
Просто изображение экрана не отрисовывается.

Старый 22.03.2010, 14:46
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
containerBasic содержит в себе загруженные с помощью Loader изображения с сервера контакта или какого-либо другого?
__________________
Поймай яблоко 2!

Старый 22.03.2010, 15:02
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 5  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
он содержит в себе объекты из библиотечных swf, подруженных с ВК


Видимо, у меня вот это (из адобовских доков):

*******
Примечание. Объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты должны находиться в том же домене, что и вызывающий объект, или в SWF-файле, доступном вызывающему объекту посредством вызова метода Security.allowDomain(). Если эти условия не соблюдаются, метод draw() ничего не рисует.
********

Что и где надо прописать?

Старый 22.03.2010, 16:11
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
у меня ничего не заработало пока я Loader-у не скормил context:

Код AS3:
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
не проверял draw, но у меня только после этого пропала проблема видимости классов из подгружаемых swf_ов.
__________________
Поймай яблоко 2!

Старый 22.03.2010, 16:23
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 7  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
у меня подгрузка так и реализована:

Код AS3:
public class libraryLoader extends Sprite {
 
		public var library;
		private var basicPreloader;
		private var containerOverGame;
 
		public function libraryLoader(libraryUrl,_containerOverGame) {
 
			containerOverGame = _containerOverGame;
 
			// Показываем прелоадер
			basicPreloader = new BasicPreloader();
			containerOverGame.addChild(basicPreloader);
 
 
			Security.allowDomain("*"); 
			var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); 
			var domain = new LocalConnection().domain;
			if (domain!="localhost") context.securityDomain = SecurityDomain.currentDomain; 
			context.applicationDomain = ApplicationDomain.currentDomain; 
 
 
			var lib:MovieClip=new MovieClip(); 
			var l:Loader=new Loader(); 
			l.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadLibrary);
			l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
 
			l.load(new URLRequest(libraryUrl), context); 			
			lib.addChild(l); 
		}	
 
 
		private function completeLoadLibrary(e:Event)  {
 
			var ldr:Loader = Loader(e.target.loader);
			var library = ldr.contentLoaderInfo.applicationDomain.getDefinition;
 
			containerOverGame.removeChild(basicPreloader);
 
			var eventData = library;
 
			var parkingEvent:ParkingEvent = new ParkingEvent("libraryLoaded",eventData,true)
			dispatchEvent(parkingEvent);					
 
		}			
 
		private function progressHandler(event:ProgressEvent):void {
 
			var progressNum:Number = new Number(event.bytesLoaded /  event.bytesTotal * 100);
			basicPreloader.procentLoaded.text = progressNum.toFixed(0) + "%";
        }
 
	}
Добавлено через 5 минут
Повторюсь, сами-то объекты присутствуют (видны) на сцене.
Их не видит только draw();
Какая-то мистика.

Добавлено через 6 часов 29 минут
Решение вроде нашлось

Оказывается flash объекты грузит и показывает, но чтобы редактировать их свойства (draw нужен этот уровень доступа) требуется загрузка файла политик. Чего у меня не было.

Завтра попробую.

Добавлено через 23 часа 41 минуту
чего-то ничего не выходит...
скоро голова треснет

Добавлено через 69 часов 18 минут
между делом разобрался, может кому поможет - нарушение изолированной среды вызывали фотографии пользователей, подгруженные в текстовые поля через htmlText.
Код:
userPhoto.htmlText = "<img src='" + userInfo.photo + "'>";


Последний раз редактировалось mikhailk; 25.03.2010 в 13:42.
Старый 19.05.2010, 14:47
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 8  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
а если это не картинка а NetStream, то как написать нужно, чтобы можно было фотографировать методом draw время от времени картинку из видео ?

Вот я пишу:
Код AS3:
 
Security.allowDomain("*");
Security.loadPolicyFile("http://mySiye.ru/video/crossdomain.xml");
 
.....
BD.draw(sourceVideoSprite,null,null,null,null,Smooth);
в локали есть сфотографированная кртинка (естественно) а в сети если тестировать то нет
файлы crossdomain.xml лежат и возле флэшки воспроизводящей видеопоток и возле файла потока

Текст файла:
Код:
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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