Загрузить изображение динамически во Flash - PullRequest
1 голос
/ 10 октября 2011

Мне нужно загружать изображение динамически, используя actionscript 3.0, PHP и Mysql. У меня есть путь к изображению в базе данных. Теперь, как показать изображение во Flash?

Ответы [ 3 ]

1 голос
/ 10 октября 2011

Вы должны использовать класс загрузчика AS3 для этого. Класс загрузчика должен загружать скрипт php. Скрипт Php должен загрузить изображение из базы данных MySQL и отобразить его. Это может выглядеть так:

AS3:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ImageLoaded);
loader.load(new URLRequest(urlToYourPhpScript));

function ImageLoaded(e:Event) {
    addChild(e.target.loader.content);
}

, где urlToYourPhpScript может содержать некоторые переменные get для идентификации вашего изображения: urlToYourPhpScript = 'http://www.example.com/?imageid=10'

PHP:

$link = mysql_connect("localhost", "username", "password") or die("Error: " . mysql_error());

// select our database
mysql_select_db("test") or die(mysql_error());

// get the image from the db
$sql = "SELECT image FROM images WHERE id=".$_GET['imageid'];

// the result of the query
$result = mysql_query("$sql") or die("Query error: " . mysql_error());

// set the header for the image
header("Content-type: image/jpeg");
echo mysql_result($result, 0);

// close the db link
mysql_close($link);

где $_GET['imageid'] - это параметр, переданный из AS3 для идентификации вашего изображения.

0 голосов
/ 10 октября 2011

Ознакомьтесь с этими уроками от евангелиста Flash / Actionscript Ли Бримелоу:
Введение в AmfPHP, часть 2
Введение в Zend AMF

Если вы не знали, gotoandlearn.com - отличный ресурс для всего, что связано с Flash.

Надеюсь, это поможет!

0 голосов
/ 10 октября 2011

Я не знаю о части PHP, но в ActionScript лучше добавлять Loader на сцену, а не добавлять его содержимое:

  1. В этом случае код проще, потому что вам совсем не нужно обрабатывать завершенное событие.
  2. Если вы попытаетесь получить доступ к полю «контент» непосредственно для изображения, загруженного с другого сервера - вы получите исключение безопасности и должны будете поместить файл crossdomain.xml на сервер с изображениями (а это невозможно, если изображение -сервер не принадлежит вам).

Итак, часть AS3 выглядит так:

const loader:Loader = new Loader();
loader.load( new URLRequest( imageURL ) );
addChild( loader )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...