Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с добавлением Bitmap на сцену (http://www.flasher.ru/forum/showthread.php?t=144550)

mikhailk 16.09.2010 11:41

Цитата:

Сообщение от OnEg1n (Сообщение 936269)
samana, нет, не добавляю.
mikhailk, я хочу загрузить растр из вне и после этого работать с ним. Сейчас же я хочу просто посмотреть механизм работы. Но пока не получается

ок, вот кусок рабочего кода установки фото пользователя (с установкой в мувиклип photoBox на сцене под квадратную маску 100х100):

Код AS3:

 
private var loader:Loader;
 
private function setUserPhoto(userPhotoURL:String) : void
{
  if (userPhoto != '') {
      loader = new Loader();
      loader.load(new URLRequest(userPhoto), new LoaderContext(true));       
      loader.contentLoaderInfo.addEventListener(Event.COMPLETE, userPhotoLoaded);
  }
}       
 
private function userPhotoLoaded(e:Event) : void
{
  var userPhotoBitmap:Bitmap = Bitmap(loader.content);
  userPhotoBitmap.smoothing = true;
 
  // Вписываем в прямоугольник 100 х 100
  if (userPhotoBitmap.width > userPhotoBitmap.height)                // горизонтальное фото
  {
      var coefficient:Number = 100 / userPhotoBitmap.height;
      userPhotoBitmap.height = 100;
      userPhotoBitmap.width = userPhotoBitmap.width * coefficient;
      // Смещение влево, если ширина больше
      if (userPhotoBitmap.width > 100)
      {
          userPhotoBitmap.x = - (userPhotoBitmap.width - 100) / 2;
      }
  }
  else
  {
      coefficient = 100 / userPhotoBitmap.width;
      userPhotoBitmap.width = 100;
      userPhotoBitmap.height = userPhotoBitmap.height * coefficient;                               
    }
 
    photoBox.underMask.addChild(userPhotoBitmap);
}


OnEg1n 18.09.2010 02:10

Все оказалось очень бонально. Надо было написать не

Код AS3:

_loader.load( new URLRequest("image \ 44442.jpg"));

а

Код AS3:

_loader.load( new URLRequest("image / 44442.jpg"));

Да, я когда это понял захотелось стукнуть себя чем-нить потяжелее :confused:
А теперь такой вопрос к ExtendedPlay, да и вообще ко всем господам флешерам. Я когда пытаюсь загрузить лого гугла, по ссылки, которую Вы мне дали. Плеер показывает сообщение, о том что приложение хочет загрузить что-то извне и блокирует загрузку. Что-бы это могло означать и как с этим теперь бороться?

mikhailk 18.09.2010 12:17

Ошибка безопасности
Впрочем, при запуске из под IDE этих проблем быть не должно

а вообще решается настройкой кроссдоменника на отдающем сервере (crossdomain.xml) и указанием контекста загрузки:

Код AS3:

loader.load(new URLRequest(userPhoto), new LoaderContext(true));


OnEg1n 18.09.2010 16:55

Только почему-то у меня Flash IDE открывает, а FD нет.


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

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