|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2011
Сообщений: 9
|
Как передать картинку из PHP в Flash.
Добрый день, уважаемые знатоки флеша.
Мне необходимо передать картинку из php в flash. Но проблема в том, что картинка не "физическая" (файл) а в виде переменной. В связи с этим 2 вопроса: 1. Нагуглил что картинку можно подтягивать с сервера после загрузки swf: Вот тут звучал совет, что действовать нужно так же как с физической картинкой. Пытался воспроизвести вот так: PHP файл из которого должна подгружаться картинка (img.php):
package { import flash.display.MovieClip; import flash.display.Loader; import flash.net.URLRequest; import flash.events.ProgressEvent; public class f1 extends MovieClip { var myLoader:Loader = new Loader(); var fileRequest:URLRequest = new URLRequest("img.php"); public function f1() { // constructor code doit(); } public function doit() { myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressStatus); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderReady); myLoader.load(fileRequest); } public function onProgressStatus(e:ProgressEvent) { // this is where progress will be monitored trace(e.bytesLoaded, e.bytesTotal); } public function onLoaderReady(e:Event) { // the image is now loaded, so let's add it to the display tree! addChild(myLoader); } } } E:\temp\F1\img.php - 0 bytes after decompression и загрузки картинки не происходит. Если поменять "img.php" на картинку ("333.jpg"), то картинка подгружается как надо. Подскажите пожалуйста, в чем тут проблема? Проект для курочения: f2.rar 2. Вот тут нашел способ передачи параметров в флешку до ее загрузки. Возможно ли так же передать картинку в флешку до ее загрузки, а не подтягивать с сервера после, как в пункте 1? Заранее благодарен за ответы. |
|
|||||
Регистрация: May 2011
Сообщений: 9
|
Ага, большое спасибо за наводку. Не работало потому что лежало локально а не на хосте.
Закинул все это на хост и заработало. Остается вопрос №2: Возможно ли передать картинку в флешку до ее загрузки (как при передаче параметров через FlashVars ), а не подтягивать с сервера после, как в пункте 1? Последний раз редактировалось zaero33; 03.09.2011 в 13:34. |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Можно, но изврат по-моему. Кодируешь картинку в base64, передаешь во флэшку как переменную во flashvars (но там может быть неприятное ограничение на размер) или флэшка дёргает жабаскрипт функцию, которая отдает ей картинку. Во флэшке декодируем из base64 в ByteArray, пихаем в Loader при помощи loadBytes - получаем что надо.
PS: делал локализирующийся втроенный прелоадер - таким не страдал, просто грузил картинку.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: May 2011
Сообщений: 9
|
Ага, т.е. загрузка через Loader по методу 1 - это наиболее простой и нересурсожористый способ - верно?
|
|
|||||
Регистрация: Sep 2012
Сообщений: 204
|
ребята, использовал сокращеный код выше, но моя капча с PHP не грузится...
в html загрузка этой картинки выглядит так .
var myLoader:Loader = new Loader(); var fileRequest:URLRequest = new URLRequest("CaptchaSecurityImages.php"); function doit() { myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderReady); myLoader.load(fileRequest); } doit(); function onLoaderReady(e:Event) { addChild(myLoader); } |
|
|||||
Регистрация: Feb 2010
Адрес: Донецк
Сообщений: 34
|
php-скрипты надо подгружать URLLoaderом. А то, что он вернет, уже будет ссылка на картинку, как я понял. Ее нужно грузить уже обычным Лоадером.
_____________________________________________ Помогаю новичкам разбираться с флэшом и Апи Вконтакте. http://vk.com/club37753830 |
|
|||||
Регистрация: Sep 2012
Сообщений: 204
|
не очень понял если честно... то есть подгрузил пхп, а из него еще взть вытянуть картинку? там в ПХП нету таких переменных отдельно на картнку
|
|
|||||
var fileRequest:URLRequest = new URLRequest("CaptchaSecurityImages.php?width=100&height=40&characters=5"); oleg_tomenko, скажите, вы действительно считаете, что при запросе к серверу вы "подгружаете php-скрипты"? (если не брать во внимание случаи крайней криворукости того, кто ставил сервер, когда действительно можно скачать сам скрипт, а не результат его работы).
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Sep 2012
Сообщений: 204
|
еёёёё маё! спасибо спаситель )) как всегда ответ на поверхности, а я уже голову ломаю какой день.!!
|
Часовой пояс GMT +4, время: 02:26. |
|
« Предыдущая тема | Следующая тема » |
Теги |
AS3 , php , изображение |
|
|