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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.02.2010, 21:35
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 1  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
По умолчанию Генерация SWF на стороне сервера

сабж-> куда копать ? где почитать ? гугл выдает ерунду ((

Старый 24.02.2010, 22:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
SWFTools, SWFMill, SamHaXe, HXswfML, MXMLC, FCSH
__________________
Hell is the possibility of sanity

Старый 24.02.2010, 22:36
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 3  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
ого
а почему нить хороший мануал есть ? нужно по сути сгенерить swf с шаблона, только изменив в нем одну картинку
что посоветуете на этот счет ?

кстати, пока удалось завести только ming, но, как с ним управляться пока не ясно да и все таки нужено с шаблона сделать

Добавлено через 22 минуты
да забыл добавить
нужно как то из основной swf на сервере создать новую операясь на шаблон ( как я понимаю должна быть возможность работы с php, так как из главной swf мы можем отправить запрос в php, который уже может обратиться к расширению и создать то что нада, но как я говорил мне пока не посчастливилось найти вменяемую статью/справку/пэйпер на этот счет )

Старый 24.02.2010, 23:09
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если вы знакомы с тем, как работает ImageMagic с PHP, то, например, разобраться с SamHaXe будет не сложно, вам его точно так же нужно будет просто запустить и дождаться результата, PHP все это умеет делать.
мануал по SamHaXe: http://www.mindless-labs.com/samhaxe...USAGE-txt.html с ним единственная сложность - самому собрать, а пользоваться готовым - ну, так не очень сложно... Но запускать его из PHP как бы нет резона потому что для этого вам все равно прийдется вашу картинку сохранить и прочитать с диска, ну, или как минимум прочитать. SamHaXe написан на HaXe, что, вобщем-то, дружественная технология Кроме того, вы его можете скомпилировать в Neko код, ну, и соответственно, если вы передаете картинку, то вы сможете ее содержание перехватить еще до сохранения на диск и сразy же на ходу скомпилировать и отдать (опять же не сохраняя на диск. Как непосредственно это сделать - я чесно не знаю, но если есть время и желание заняться - разработчики у программы живы-здоровы, на письма отвечают
MXMLC - это флексовый компилятор, с ним в смысле настроек и установки проще, но если вы захотите сделать кастомную его версию (опять же чтобы исзбежать работы с файловой системой, например), то у этого компилятора какая-то странная лицензия, и, на сколько я понимаю, именно это надо делать незабесплатно. Ну и кроме всего прочего, MXMLC очень медленный, жрет много ресурсов и ему нужна ява на сервере...
__________________
Hell is the possibility of sanity

Старый 24.02.2010, 23:37
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 5  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
сохранение/чтение картинки не проблема
главно добиться сборки измененной swf )
я так понимаю мне нада заготовить болванку в swf, ее конвертировать в xml (решил потому что - Usage: SamHaXe [options] <resources.xml> <assets.swf>)( будет только XML ? или ресурсы тоже ? или ресурсы превратятся в byteArray и будут блоками в xml ? ) поменять нужный ресурс и собрать с помощью SamHaXe !?

суть верно уловил ? ( первый раз с таким сталкиваюсь и время, как назло жмет ( да да да, как все говорят, но тут реально жмет и нада быстро въехать в технологию )поэтому могу поттупливать , особо не пинай ))

PS ставлю пока Prerequisities к sameHaXe )
PSS c ImageMagic не приходилось сталкиваться, но в данный момент ее ставлю

Старый 25.02.2010, 01:55
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 6  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
У вас такая простая задача (зарядить во флешку кртинку), что мозг можно выключить, и поступить так... Берем флешку с картинкой, сначала картинку модифицируем Hex редактором. Вставляем ей в начало 10 байт. Теперь эмбедим картинку во флешку. (Флешка должна быть не запакованная, она может быть либо не запакованная с самого начала либо ее надо uncompress потом сделать теперь опять эмбедим картинку в другую флешку. Пользователь загружает картинку, берем длину байтаррая картинки преобразовуем ее в строку, Строка должна иметь длину 10. Нехватку забиваем пробелами. (Хех редактором заранее надо найти вхождение эмбеденной картинки во флешке)
Все так подробно я описал
Код AS3:
		//отображение диалога save SWF файла
		private function onShowSaveSwfDialog(event:Event = null):void {
			var ba:ByteArray = bmd550x400.getPixels(new Rectangle(0, 0, 550, 400));
			var retByteArray:ByteArray = as3_jpeg_wrapper.write_jpeg_file(ba, 550, 400, 3, 2);
			var swfByteArr:ByteArray = new swfByte();
 
			var lenJpg:String = getLenStr(retByteArray);
			swfByteArr.position = 0x258;//вхождение картинки
			swfByteArr.writeUTFBytes(lenJpg);//пишем картинку
			swfByteArr.writeBytes(retByteArray, 0, retByteArray.length);
 
			var saveFile:FileReference = new FileReference;
			try {
				saveFile.save(swfByteArr,"lex_post-gen.swf");
			}
			//catch(illegalOperation:IllegalOperationError){ 
			catch (e:Error) {
			}
		}
Дему нарисовал за 5 минут.
http://murmadillo.tut.su/m/genSWf.swf
Выбираете картинку, сохраняете ее в swf файл.

Блин, чето перепутал.
Есть флешка подготовленная заранее с эмбед картинкой. (ее будет получать пользователь)
Можно модифицировать байтАррай с флешкой подготовленной заранее, подменив в нем байтАррай с картиной.

флешка подготовленная заранее

Код AS3:
package  
{
	import flash.display.*;
	import flash.text.TextField;
	import flash.utils.ByteArray;
	/**
	 * ...
	 * @author Alex Lexcuk http://www.murmadillo.tut.su
	 */
	public class Doc extends Sprite
	{
		[Bindable]
		[Embed(source = "57a18a364808.jpg", mimeType='application/octet-stream')]
		private var jpgByte:Class;
 
		public function Doc() 
		{
			var l:Loader = new Loader();
			var b:ByteArray = new jpgByte();
			var lenStr:String = b.readUTFBytes(10);
			var len:int = Number(lenStr);
			trace(len);
			var bJpg:ByteArray = new ByteArray();
			bJpg.writeBytes(b, 10, len);
 
			l.loadBytes(bJpg);
			addChild(l);
			var btn:Sprite;
			//addChild(btn = btnGen('собрать SWF'));
			//btn.addEventListener(`
		}
 
		private function getLenStr(b:ByteArray):String {
			var bLength:String = b.length.toString();
			var sarr:Array = [];
			var i:int;
			for (i = 0; i < bLength.length; i++) sarr[i] = bLength.charAt(i);
			for (i = bLength.length; i < 10; i++) sarr[i] = ' ';
			var lenStr:String = sarr.join('');
			trace(lenStr + ';' );
			return lenStr;
		}
 
 
	}
 
}
Теперь это эмбедим во флешку которая будет выдавать пользователю флешку с выбранной картинкой.
__________________
Гоночка


Последний раз редактировалось Alex Lexcuk; 25.02.2010 в 02:02.
Старый 25.02.2010, 02:31
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от Artic Посмотреть сообщение
сохранение/чтение картинки не проблема
главно добиться сборки измененной swf )
Смысл Сэма использовать в том, что вы можете его скомбинировать с серверной частью, т.е. обойтись без IO (гораздо бтстрее и секьюрнее) т.е. просто взять картинку из тела запроса, и вставить ее в новую флешку абсолютно не обращаясь к диску на запись / чтение.

Цитата:
Сообщение от Artic Посмотреть сообщение
я так понимаю мне нада заготовить болванку в swf, ее конвертировать в xml (решил потому что - Usage: SamHaXe [options] <resources.xml> <assets.swf>)( будет только XML ? или ресурсы тоже ? или ресурсы превратятся в byteArray и будут блоками в xml ? ) поменять нужный ресурс и собрать с помощью SamHaXe !?
Да, где-то примерно так, но не совсем. Все, что из себя представляет картинка - это DefineBitsJPEG4 тэг в формате SWF (символ) + Bitmap (класс, к которому этот символ потом линкуется). Используя Сэм вы можете создать "пустой" Bitmap, к которому он прилинкует DefineBits. (Если скорость ответа сервера важнее размера, то можно прилинковать файл к ByteArray абсолютно его не обрабатывая, но потом байты этого тэга нужно будет загрузить с помощью Loader.loadBytes() - как по мне тоже вариант, хотя первый "красивше").

Цитата:
Сообщение от Alex Lexcuk Посмотреть сообщение
У вас такая простая задача (зарядить во флешку кртинку), что мозг можно выключить, и поступить так...
Сделать столько махинаций чтобы потом все равно запустить MXMLC? А смыслу тогда? Легче просто тем же PHP найти эмбед и заменить имя на новое, или если трудно ргекс для такого написать - можно в MXML собрать...
__________________
Hell is the possibility of sanity

Старый 25.02.2010, 18:58
Artic вне форума Посмотреть профиль Найти все сообщения от Artic
  № 8  
Ответить с цитированием
Artic
Banned

Регистрация: Jun 2009
Сообщений: 298
вобщем, я только сейчас для себя открыл byteArray и в связи с этим появились новые идеи, вобще без swf

PS
Цитата:
Сделать столько махинаций чтобы потом все равно запустить MXMLC? А смыслу тогда? Легче просто тем же PHP найти эмбед и заменить имя на новое, или если трудно ргекс для такого написать - можно в MXML собрать...
он вроде как имел виду поменять байтэррэй фотграфии именно

Старый 26.02.2010, 03:03
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Если я правильно понял, то Sam HaXe "is a flash resource assembly tool". Т.е. он умеет создавать только swf-библиотеки с перечисленными в некотором xml-файле ресурсами. А каким боком стоит тогда шаблон, по которому нужно сгенерировать swf? Вероятно, в нем могут быть какие-нибудь DoABC, например.
Хочется уточнить какого рода функциональность должна быть заложена в выхлопной swf.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 26.02.2010, 03:14
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от Artic Посмотреть сообщение
он вроде как имел виду поменять байтэррэй фотграфии именно
А, все, разобрался, ну все равно, лучше сгенерить DefineBits, если есть такая возможность

Цитата:
Сообщение от dimarik Посмотреть сообщение
Если я правильно понял, то Sam HaXe "is a flash resource assembly tool". Т.е. он умеет создавать только swf-библиотеки с перечисленными в некотором xml-файле ресурсами. А каким боком стоит тогда шаблон, по которому нужно сгенерировать swf? Вероятно, в нем могут быть какие-нибудь DoABC, например.
Хочется уточнить какого рода функциональность должна быть заложена в выхлопной swf.
Сэм может просто из другой флешки выдернуть ABC, но, если сильно захотеть - есть format.abc на HaXe, кроме того, есть даже цельные библиотеки вокруг него написаные, так что, если знаючи, то можете хоть класс хоть функцию дописать, используя тот же HXswfML например.
Самостоятельно он может только создать класс-пустышку и к нему прилинковать символ (по сути то же самое, что делает MXMLC, когда генерит BitmapAsset, например).
__________________
Hell is the possibility of sanity

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

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

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


 


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


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