PDA

View Full Version : Как конвертировать HTML5 в Flash?



crazy-mike
08-12-2013, 01:24 PM
http://habrahabr.ru/qa/44890/

Рунет зажигает огни! :111:
P.S. Но вопрос ведь довольно интересный. Тем более , что MXML , например , ведь является "разновидностью XHTML".
Ну а ActionScript 3 является "отпрыском" ECMA Script.

crazy-mike
08-19-2013, 01:46 AM
Но дело конечно же не только в "трансляции" JavaScript в ActionScript. Есть много смешных "феноменов" при попытке переноса "runtime".
Например цвет рамок для клеток таблицы в spark.controls.DataGrid меняется на "свой" примерно так:


@namespace s "library://ns.adobe.com/flex/spark";
s|DataGrid {
skinClass: ClassReference("yoyo.MyGridSkin");
}


И где-то MyGridSkin.as:



package yoyo {

import mx.core.*;
import flash.net.*;
import flash.desktop.*;
import flash.events.*;
import mx.events.*;
import mx.rpc.events.*;
import mx.rpc.http.*;
import mx.managers.*;
import mx.collections.*;
import mx.controls.Tree;
import mx.graphics.*;
import spark.core.*;
import spark.primitives.*;
import spark.components.*;
import spark.components.gridClasses.*;
import spark.skins.spark.*;
import spark.layouts.*;
import spark.events.*;

public class MyGridSkin extends DataGridSkin {
public function MyGridSkin()
{ super();
rowSeparator=new ClassFactory(MyLine);
columnSeparator=new ClassFactory(MyLine);
}
}
}

import mx.core.*;
import flash.net.*;
import flash.desktop.*;
import flash.events.*;
import mx.events.*;
import mx.rpc.events.*;
import mx.rpc.http.*;
import mx.managers.*;
import mx.collections.*;
import mx.controls.Tree;
import mx.graphics.*;
import spark.core.*;
import spark.primitives.*;
import spark.components.*;
import spark.components.gridClasses.*;
import spark.skins.spark.*;
import spark.layouts.*;
import spark.events.*;

class MyLine extends Line {
public function MyLine()
{ super();
stroke=new SolidColorStroke();
SolidColorStroke(stroke).color=0x000000;
SolidColorStroke(stroke).caps="square";
SolidColorStroke(stroke).weight=1;
}
}


Т.е. для <tr> и <tc> из HTML нужно генерировать очень "странную" runtime support library. "Универсальной" библиотеки в этом случае не хватит.

MariLi
08-19-2013, 07:40 AM
а зачем конверировать? разве флаш не сдох ещё?:122:

crazy-mike
08-19-2013, 08:10 AM
а зачем конверировать? разве флаш не сдох ещё?:122:
Не сдох. AIR существует ( standalone Flash applicaitons runtime environment - для Android и на других платформах тоже. ). Ко всему прочему в виде AIR это всё намного меньше ресурсов планшета жрёт ( в т.ч. и батареи ) чем HTML5+JavaScript. Flash только в Apple время от времени пытаются "хоронить" , а сами тем временем начинают клепать "маки" с Windows 8 ( которая считается ещё и одной из основных платформ для Adobe Flash )

Ангел
08-19-2013, 10:48 AM
Я думаю большей части вебмастеров по барабану батареи пользователей :116: Важнее скорость загрузки и рендеринга страницы.

SergeNY
08-19-2013, 10:49 AM
Я думаю большей части вебмастеров по барабану батареи пользователей :116: Важнее скорость загрузки и рендеринга страницы.

:239:

crazy-mike
08-19-2013, 11:40 AM
Я думаю большей части вебмастеров по барабану батареи пользователей :116: Важнее скорость загрузки и рендеринга страницы.
Мысль интересная - но и HTML5, и Flash уже давно стали инструментами для разработки и поддержки web applications , а не идиотских "веб страничек для случайных пользователей" ( такие "веб-странички" как раз поддерживаются этими самыми web-applications в той или иной форме ).
Т.е. "конвертировать HTML5 в Flash" - это именно задача "портирования приложения" на другую платформу ( в "телевизор" , например ). Там ведь много всяких "шуток юмора" - бывают реализации HTML5 для мобильных телефонов , которые просто не поддерживают AJAX. И т.д. С другой стороны ведь в "умном телевизоре" может просто вообще не быть "браузера" , а только "средства доступа к виджетам" ( хотя в новых телевизорах браузеры есть ).

Olezhik
08-19-2013, 12:22 PM
Лутше наоборот из Флаша в [HTML5]

crazy-mike
08-19-2013, 12:30 PM
Лутше наоборот из Флаша в [HTML5]
Adobe Edge ведь какое-то есть. :111:

P.S. Но особой роли ведь "туда" или "обратно" ведь не играет. Насколько я успел понять , visual component skinnging из Flash с HTML5 очень плохо "соотносится"...Из ActionScript ведь сравнительно несложно сделать JavaScript - но далеко не во всех случаях. Если в ActionScript не плодить "наследуемые из стандартных" классы , то всё не так уж и трудно "портировать".

Olezhik
08-19-2013, 12:35 PM
Адобе Едге ведь какое-то есть. :111:

П.С. Но особой роли ведь "туда" или "обратно" ведь не играет. Насколько я успел понять , висуал цомпонент скиннгинг из Флаш с ХТМЛ5 очень плохо "соотносится"...Из АцтионСцрипт ведь сравнительно несложно сделать ЯваСцрипт - но далеко не во всех случаях. Если в АцтионСцрипт не плодить "наследуемые из стандартных" классы , то всё не так уж и трудно "портировать".
Вот имено как говорят сравнили "Яблоки с Апельсинами".

crazy-mike
08-19-2013, 12:49 PM
Вот имено как говорят сравнили "Яблоки с Апельсинами".
скорее яблоки с арбузами. Flash - это арбуз с кучей семечек внутри. :111:

Olezhik
08-19-2013, 12:57 PM
скорее яблоки с арбузами. Флаш - это арбуз с кучей семечек внутри. :111:

Арбуз я помню был [Macromedia Director 4] а флаш это так упращёная версия.

crazy-mike
08-19-2013, 01:37 PM
Арбуз я помню был [Macromedia Director 4] а флаш это так упращёная версия.
Упрощённая?
Skinnable components - это только психиатры могли придумать. Чем им обычные виртуальные методы в классах мешали? ( хотя и оно осталось - но к нему нужно обязательно "нехорошее слово" override дописывать.) :111:

А писать определение класса ( вместе с методами ), которое вообще не будет компилироваться ( но если там что-то неправильно - то компилятор всё равно "обругает" ) , а только использоваться в качестве skin-а - это уже что-то "по ту сторону добра и зла".

P.S. Скрестить арбуз с кактусом им в Adobe удалось блестяще! :111:

Olezhik
08-19-2013, 02:10 PM
Упрощённая?
Скиннабле цомпонентс - это только психиатры могли придумать. Чем им обычные виртуальные методы в классах мешали? ( хотя и оно осталось - но к нему нужно обязательно "нехорошее слово" оверриде дописывать.) :111:

А писать определение класса ( вместе с методами ), которое вообще не будет компилироваться ( но если там что-то неправильно - то компилятор всё равно "обругает" ) , а только использоваться в качестве скин-а - это уже что-то "по ту сторону добра и зла".
П.С. Скрестить арбуз с кактусом им в Адобе удалось блестяще! :111:
Прохладительных напиток из такила с арбузом довольно не дурно....
http://thekissters.files.wordpress.com/2013/07/watermelon-tequila-cocktail-blended-skinny.jpg
http://thekissters.files.wordpress.com/2013/07/watermelon-tequila-cocktail-blended-skinny.jpg

crazy-mike
08-19-2013, 03:09 PM
Прохладительных напиток из такила с арбузом довольно не дурно....
http://thekissters.files.wordpress.com/2013/07/watermelon-tequila-cocktail-blended-skinny.jpg
http://thekissters.files.wordpress.com/2013/07/watermelon-tequila-cocktail-blended-skinny.jpg
А если арбуз не резать? :111:
( они ведь не резали в Adobe и даже текилу из кактуса не делали - просто на арбузе стали колючки кактуса расти. )

Olezhik
08-19-2013, 03:52 PM
А если арбуз не резать? :111:
( они ведь не резали в Адобе и даже текилу из кактуса не делали - просто на арбузе стали колючки кактуса расти. )

Ну если без такили и на трезвую голову, тогда уж точно проблема.

crazy-mike
08-20-2013, 03:18 AM
Ну если без такили и на трезвую голову, тогда уж точно проблема.
А как на трезвую голову уловить разницу между Array и ArrayList в Adobe Flash? :111:
А ведь там ещё и ArrayCollection есть! ( ко всему прочему у них ведь ещё и Vector есть - при этом не особо понятно , а что же в таких случаях принципиально можно выиграть в смысле быстродействия. Всё равно всё упирается в последовательность ссылок на участки памяти , а память всё равно выделяется не "с точностью до байта" , а "страницами" ).

Olezhik
08-20-2013, 11:57 AM
А как на трезвую голову уловить разницу между Арраы и АрраыЛист в Адобе Флаш? :111:
А ведь там ещё и АрраыЦоллецтион есть! ( ко всему прочему у них ведь ещё и Вецтор есть - при этом не особо понятно , а что же в таких случаях принципиально можно выиграть в смысле быстродействия. Всё равно всё упирается в последовательность ссылок на участки памяти , а память всё равно выделяется не "с точностью до байта" , а "страницами" ).

Да ладно тебе, все понятно. Аррэй намного быстрея АррайЛиста но тем не мения в АррайЛисте существует много полезних функцзий каторые отсутсвуют в обычном Аррэй поэтому в некоторых случиях лутше использовать АрраыЛист. Всё зависит от задачи. Ну а если ты уже работаеш в Флаш 10 то там уже можно с Векторами работать. Ну а Векторы естествено на много ефективния обычного аррея.

Но опять же, Флаш я стораюсь избегать. Но сегодня мне приходеца работать над проектами с Флашем.

crazy-mike
08-20-2013, 12:19 PM
Да ладно тебе, все понятно. Аррэй намного быстрея АррайЛиста но тем не мения в АррайЛисте существует много полезних функцзий каторые отсутсвуют в обычном Аррэй поэтому в некоторых случиях лутше использовать АрраыЛист. Всё зависит от задачи. Ну а если ты уже работаеш в Флаш 10 то там уже можно с Векторами работать. Ну а Векторы естествено на много ефективния обычного аррея.

Но опять же, Флаш я стораюсь избегать. Но сегодня мне приходеца работать над проектами с Флашем.
Прикол в том - что вся эта радость независимо от названия означает vector of [ pointer to data descriptor ]. Хотя конечно же есть и vector of [ pointer to data of the same type ]. Эффективность там отличается примерно на уровне двух команд mov в каком-нибудь трахнутом ассемблере. Ко всему прочему , если им вдруг взбрело в голову реализовывать обращение к элементу массива через вызов "семантической подпрограммы" - то там вообще всё никак не отличается в смысле эффективности. В интепрпретируемых языках для этих случаев почти что единственным способом повышения эффективности было "использование итераторов". :111:

Ну явно там кто-то как следует с ума сходил. Хорошо ещё , что у них там хотя бы int остался "примитивным типом" и не нужно делать что-то похожее на var a:int=new int(0); Достаточно просто var a:int=0;
:111: