Portál AbcLinuxu, 1. května 2025 02:08

Animované flash bannery pomocí open source nástrojů

18. 6. 2009 | Adam Sádovský
Články - Animované flash bannery pomocí open source nástrojů  

Jsem člověk, který se straní Flashe, co může. Ale pokud jde o složitější animované reklamní proužky, potom pragmatická mysl nemůže zvolit nic lepšího, než je právě Flash.

Obsah

Co se dozvíte: Jak vytvářet jednoduché vektorové animace ve Flashi a Actionscriptu bez pomoci placených nástrojů.

Co se nedozvíte: Jak animovat pomocí deklarativního zápisu nebo pomocí křivek.

Jak moc do hloubky: jen povrchně – je to o tom, jak začít.

Flash se mi nelíbí hlavně ze dvou důvodů:

Na druhou stranu, přiznejme si, že co se dodržování standardů týče, internet/web je na tom prachbídně. Flash je v tomto prostředí učiněný balzám na duši grafikům, kterým jde o design a výsledek a ne o vynucené uhýbání od záměru a obcházení situace různými hacky a triky.

Protože jsem se Flashi tak dlouho a úspěšně vyhýbal, věděl jsem o něm asi jen to, jak nainstalovat plugin do prohlížeče. Návod, který vám předkládám, musí být proto zákonitě plný nepřesností a chyb, ale stejně by se mohl řadě lidí hodit. Pokud někde na webu existuje podobný návod, měl jsem asi smůlu a nenarazil na něj. Prosím čtenáře, kteří mají s Flashem více zkušeností, aby mě laskavě poopravili tam, kde ujedu. Věci, které jsem příliš nezkoušel, jsou označeny otazníkem v závorkách. A vůbec je celý článek jen stručným náhledem, aby usnadnil krkolomné začátky.

Začínáme

link

Co je třeba mít nainstalované:

Další užitečné nástroje:

Odkazy a zdroje:

Termíny a zkratky:

Pokračujeme

link

Pokud máte první tři nástroje k dispozici, potom vás asi bude zajímat, jak fungují.

K dispozici jsou dva konzolové programy: swfmillmtasc. Ten první generuje jakousi kostru (skelet) výsledné animace. Umí importovat řadu objektů, ať už jde o obrázky, videa, zvuky, vektorovou grafiku (svg – vytvořené pomocí Inkscapu), nebo třeba další swf soubory a jejich části(?). Ten druhý umí přeložit Actionscript a vyrobit zcela nový swf nebo skript vstříknout (injection) do existujícího swf. Co je kostra a skript a jak fungují, si povíme níže.

Inkscape je skvělý interaktivní nástroj pro vektorové kreslení a je o něm k nalezení mnoho návodů (Seriál: Inkscape).

Kostra

link

swfmill je konzolový nástroj, který z nadefinované xml struktury (těsně kopírující Flash formát) vygeneruje swf. Zdrojový kód pokusného souboru test.xml může vypadat takto:

<?xml version="1.0" encoding="utf-8" ?>
<movie width="728" height="90" framerate="30">
<background color="#ffffff" />
	<frame>
		<library>
			<clip id="neco" import="test.png" />
		</library>
	<place id="neco" name="obrazek1" x="10" y="-40" depth="1" />
	</frame>
</movie>

Ten konvertujeme pomocí:

swfmill simple test.xml test.swf

Výsledkem je swf soubor, který už lze zobrazit (pomocí nějakého přehrávače či webového prohlížeče) – neměl by dělat nic jiného, než jen zobrazit obrázek test.png.

Asi je jasné, jak se věci mají, přesto: Vše je uloženo v párovém tagu <movie>, jehož parametry definují rozměry výsledné animace a počet snímků za vteřinu (nevím, jak jiné Flash přehrávače, ale v pluginu pro Firefox je swf animace spuštěna v celém okně a objekty mimo definované rozměry mohou být viditelné – čili nastavené rozměry jsou něco jako preferovaný výřez animace, kterým se přehrávače mohou řídit(?)).

Druhým důležitým párovým tagem je <frame>. Abych pravdu řekl, nezkoušel jsem vytvářet animaci pomocí swfmill. Skutečně jsem vždy jen vytvářel kostru a naimportoval v ní všechny nezbytné objekty, které se měly zobrazit. Rámec pravděpodobně definuje jeden obrázek výsledného Flashe, popřípadě jednu scénu. Představuji si to tak, že uvnitř framu může žít celá jedna animace, která je nezávislá na jiném framu a mezi framy lze automatizovaně přepínat (na požádání uživatele(?)).

Další párový tag <library> slouží k importování či definování objektů, které pak mají být přístupné přes Actionscript(?). Aby se takto importovaný nebo definovaný objekt zobrazil, je třeba ho umístit pomocí nepárového tagu <place/>, který již nesídlí v sekci library.

Nepárový tag <place/> slouží k umísťování nadefinovaných či naimportovaných objektů do scény. Můžeme si to představit tak, že v sekci library se definují objektové třídy a pomocí tagu place se vytvářejí jejich instance. Pomocí parametru id se určuje právě třída a pomocí name jméno výsledné instance. Kromě toho lze určit pozice a hladinu vložení – depth. Hladina musí být pro každou instanci unikátní(?), pokud se použije dvakrát place do stejné hladiny, pak se první place zakryje tím druhým.

Importování

link

V mých pokusech importuji a definuji nové objekty vždy v sekci library. Tento typ importu je takzvaně statický (importoval lze i v Actionsriptu – pak se hovoří o dynamickém importu) a výsledkem je, že se importovaný objekt stává součástí výsledného swf (čili je přibalen k výsledné animaci).

Tady je pár tagů k tomu určených:

<clip id="komponenta" import="komponenta.png" />
<font id="vera" import="library/vera.ttf" glyphs="0123456789" />
<sound id="myID" import="blah.mp3" />
<import file="library/library.swf" url="http://foo.com/library.swf" />
<textfield id="hellobox" width="200" height="50" size="10" font="vera" text="hello world!" />

Vkládání a volání

link

Tagy, které leží mimo sekci library, jsou například tyto:

<place id="foobar" name="myFoobar" x="10" y="10" depth="1" />
<call object="Main" method="main" />

Překlad

link

Překlad do swf, jak již bylo napsáno výše, se provádí tímto příkazem:

swfmill simple test.xml test.swf

Kromě toho umí swfmill použít v podstatě jakékoli xml, které si nadefinujete (nezkoušel jsem – referenční manuál by měl být tady: http://swfmill.org/doc/reference.html) a měl by umět i obrácený postup – ze swf generovat xml (také jsem nezkoušel). Vždy jsem používal již předdefinovaný simple.

Skript

link

mtasc – je také konzolový nástroj určený pro překlad Actionscriptu (AS) napsaného v textovém souboru do swf. Actionscript je syntaxí blízký Javascriptu a začít ho používat není až takový problém, jak jsem se zpočátku bál (což neeliminuje možné prohřešky, kterých se můžu mimoděk dopouštět). MTASC překládá Actionsript 2. Pokud chcete pracovat s Actionsriptem 3, můžete zkusit použít Haxe (http://haxe.org/), který jsem nezkoumal, ale vypadá zajímavě.

To, co musíte dodržet při programování a co nemusí být jasné na první pohled, je:

  1. vše musí být umístěno ve třídě,
  2. jedna třída musí být v jednom souboru.

To nikterak nebrání možnosti použít statické funkce (nevím, zda jde o třídní metody v pravém smyslu). A jedna velmi důležitá statická funkce je main(), kterou můžete překladači MTASC zadat v parametrech jako vstupní bod (Entry Point) – tam se začne vykonávat kód.

Zdrojový pokusný kód souboru test.as může vypadat takto:

class Main {
	static function main(mc) {
		_root.createTextField("tpole",0,0,0,800,600);
		_root.tpole.text = "Žebřiňák úpěl";
	}
}

Který se kompiluje tímto příkazem:

mtasc -swf pokus.swf -main -header 728:90:30 test.as

Čímž dostaneme soubor pokus.swf, zobrazující pouze textové pole.

Globální prvky

link

Z AS je v podstatě přístupné vše. Celá výsledná animace (či aplikace) je přístupná z globální proměnné(?) _root. Proměnná _root někdy funguje jako asociativní pole a jindy jako kolekce objektů. Například přístup k objektům (nejčastěji MovieClipům), definovaným v kostře, lze realizovat takto:

_root.vlozenyObrazek._x = 10;
_root["idVlozenehoObrazku"]._x = 10;

Což v obou případech mění ixovou souřadnici vloženého obrázku. Poprvé přes kolekci, podruhé přes asociativní pole. Další důležitý objekt je třída Stage, přes kterou lze přistupovat k rozměrům zobrazovací plochy. Například: Stage.width – obsahuje šířku zobrazovací plochy. Takových globálních prvků bude jistě daleko více. Pro podrobnější reference zkuste http://flash-reference.icod.de/.

Objekt MovieClip

link

Objekt MovieClip (MC) je asi nejdůležitější objekt pro naše potřeby. Vše, co bylo vloženo v kostře, je vlastně třída nebo instance MC(?). V AS lze mimo jiné vytvořit vlastní třídu děděním z MC a nebo lze vytvořit prázdný MC.

MC má několik obecných atributů, které se hodí znát:

Tyto atributy jsou public a lze je číst i měnit.

Kromě toho má třída MC i praktické metody. Například:

pro vytváření nových instancí MC.

A pak také některé události. Například onEnterFrame(), který se volá vždy, když je třeba vygenerovat nový snímek animace. Více informací najdete zde: http://flash-reference.icod.de/MovieClip.html.

Otázka je, proč vše nenapsat jen v Actionscriptu bez pomoci nějaké kostry? Asi by to mělo jít, i když nevím, jak bych importoval například svg, ale hlavně takto importované objekty nejsou zabaleny do výsledného swf. Jsou importovány dynamicky.

Další vlastnosti si budete muset nastudovat sami, nebo budou popsány v ukázkovém projektu.

Překlad

link

MTASC očekává jeden či více vstupních souborů typu .as a jeden výstupní. Vstupním souborům nepředchází žádný parametr, zatímco výstupním předchází parametr -swf nebo -out. Parametr -swf funguje pravděpodobně takto: Pokud soubor za swf existuje, pak ho mtasc vezme, updatuje třídy pomocí AS a pak ho opět uloží – čili soubor za parametrem -swf změní. Parametr -out vygeneruje pouze nový soubor. Pokud použijete -swf-out zároveň, potom se vezme soubor za parametrem -swf, obohatí se o AS a výsledek se uloží do souboru za parametrem -out.

Pokud se bojíte, že vám MTASC zahodí některé třídy, potom použijte parametr -keep. MTASC pravděpodobně zahazuje ty třídy, které nejsou použité (unused)(?).

MTASC navíc umožňuje skočit do statické funkce main() pomocí parametru -main. Pokud nespustíte nějakou metodu z xml kostry (pomocí tagu <call>), potom musíte parametr -main použít (jinak se AS nijak neaktivuje(?)).

mtasc -swf kostra.swf -keep -main skript.as -out kostraSeSkriptem.swf

Příkaz výše předpokládá, že existuje soubor kostra.swf, který vezme, přidá k němu skript, přitom existující objekty ponechá netknuté a výsledek uloží do nového souboru kostraSeSkriptem.swf. Nakonec přidá kód pro automatické spuštění statické metody main().

Poslední zajímavá věc je hlavička. Parametr -header. Má smysl ho použít ve chvíli, kdy pomocí AS generujete zcela nový soubor bez pomoci jakékoli kostry(?). Definuje šířku:výšku:framerate

Kombinace výstupů z mtasc a swfmill

link

Z návodu výše jste asi pochopili, jak věci fungují. Přesto se pokusím princip popsat detailněji. Existují dvě principiálně odlišné metody:

  1. takzvané skeletální vstřikování (skeletal injection),
  2. takzvaná metoda přirozeného vstupního bodu (natural entry poin).

Něco o nich se dozvíte zde: http://aralbalkan.com/408.

Druhou metodu jsem příliš nezkoušel, a to z toho důvodu, že je výsledek složen z více swf souborů(?). Mým cílem bylo udělat co nejjednodušší swf banner – jeden soubor je pro takové potřeby ideální.

K druhé metodě bych zmínil asi jen to, že je celá aplikace zděděná z třídy MovieClip a v kostře vložena s nulovými rozměry někam do scény. Její kód se začne vykonávat metodou onLoad() – nahrazuje vlastně statickou metodu main(). Velmi podobně(?) by se asi dalo využít tagu <call>, který z kostry zavolá jednu z metod, kterou jako autoři považujete za vstupní metodu. Vstupní metody a funkce vlastně nedělají nic jiného, než že definují počáteční parametry, sestaví některé dynamicky vkládané objekty a to je vše. Zbytek dění by měl být v ideálním případě řízen událostmi.

A nyní k metodě první. Podle některých zdrojů ji používá většina klikacích open source GUI určených pro generování Flash animací. Využívá tu schopnost mtasc, že dokáže Actionscriptem obohatit již existující swf. Takže nejprve spustíte swfmill a potom mtasc na výsledný soubor:

swfmill simple kostra.xml kostra.swf
mtasc -swf kostra.swf -keep -main skript.as -out kostraSeSkriptem.swf

Většinou jsem používal právě takovou kombinaci příkazů.

Pokračovat na → Ukázkový projekt.

Ukázkový projekt

link

A nyní se podíváme na konkrétní příklad od začátku do konce. Nic složitého, jen ukázka. Začneme kreslením v Inkscapu.

Grafika

link

Nakreslíme obrázek jako na následujícím screenshotu:

Animované Flash bannery pomocí Inkscape, swfmill a mtasc..., obrázek 0

Rozměr obrázku je 728×90. Jak kruh, tak text převedeme do křivek (shift + ctrl + C) – import svg není ještě úplně dokonalý a křivky jsou tak trochu jistota. Následně přiřadíme svg elementům id (to se bude hodit při vkládání konkrétních části svg obrázku). Pravé kliknutí na objekt:

inkscape – kontextové menu

Vybereme položku Vlastnosti objektu. Jako ID nastavíme u textu: text a u kruhu: kruh.

Pak grafiku uložíme do nějakého pracovního adresáře: ~/prac/grafika.svg.

Můžeme si dovolit objekty seskupovat (group) a dávat takovým skupinám unikátní ID. Pomocí swfmill můžeme importovat i složité vektory včetně barev a průhledností, ale co ještě nefunguje, jsou blur efekty a hlavně barevné přechody. Chybějící barevné přechody jsou asi největším problémem konverze svg do swf. Snad se to časem zlepší.

To je vše, co se grafiky týká.

Kostra

link

Nyní vytvoříme xml kostru. Vytvoříme textový soubor ~/prac/kostra.xml a uložíme do něj následující kód:

<?xml version="1.0" encoding="utf-8" ?>
<!--Celá animace s rozměry a snímkovací frekvencí-->
<movie width="728" height="90" framerate="30">
	<!--Barva pozadí-->
	<background color="#ffffff" />
<!--Začátek snímku-->
<frame>
	<!--Začátek knihovny-->
	<library>
		<!--Importujeme pouze grafiku v svg formátu-->
		<clip id="grafika" import="grafika.svg" />
	</library>
	<!--Ze svg souboru vložíme objekt s id=text
	      a přitom nezměníme polohu hloubka 
	      vložení bude 0, protože jde o pozadí scény-->
	<place id="text" name="text_0" depth="0" />
	<!--Dále vložíme kruh a nazveme ho kruh_0,
		 tento název bude zpřístupňovat objekt v AS-->
	<place id="kruh" name="kruh_0" x="10" y="0" depth="1" />
	<!--Opět vložíme stejný kruh tentokrát s názvem kruh_1-->
	<place id="kruh" name="kruh_1" x="230" y="0" depth="2" />
<!--Konec snímku-->
</frame>
<!--Konec animace-->
</movie>

Skript

link

Pak vytvoříme textový soubor: ~/prac/skript.as s následujícím obsahem:

// název třídy se skriptem: v tuto chvíli
// je irelevantní – důležitá je metoda main()
class Main
{
	// název vstupní metody – tuto metodu hledá mtasc,
	// když má nastaven parametr -main, musí jít o statickou metodu
	static function main()
	{
		// objekty definované v kostře jsou instancemi třídy
		// MovieClip a jsou přístupné přes proměnnou _root.
		// můžeme jim přidat některé atributy,
		// které budeme později potřebovat
		_root["kruh_0"].v = 6;	// počáteční rychlost (v ixové souřadnici)
		_root["kruh_0"].m = 0.5;	// hmotnost
		_root["kruh_0"].r = 40;	// poloměr
 
		_root["kruh_1"].v = -1;
		_root["kruh_1"].m = 5;
		_root["kruh_1"].r = 40;
 
		// nyní vytvoříme pomocnou instanci třídy MovieClip;
		// tato instance bude řídit animaci
		// a kromě toho je použita k vytvoření průhledného
		// klikacího tlačítka nad celým Flashem
		var ctrl:MovieClip = _root.createEmptyMovieClip(
					"controller",
					_root.getNextHighestDepth());
 
		// začíná se kreslit klikací tlačítko
		ctrl.beginFill(0xFFFFFF);
		ctrl.moveTo(0, 0);
		ctrl.lineTo(Stage.width, 0);
		ctrl.lineTo(Stage.width, Stage.height);
		ctrl.lineTo(0, Stage.height);
		ctrl.lineTo(0, 0);
		ctrl.endFill();
		ctrl._alpha = 0;			// plná průhlednost
 
		// definujeme reakci na událost uvolnění tlačitka myši
		ctrl.onRelease = function() {
			// přepneme na požadovanou stránku;
			// pokud chcete přejít na stránku mimo server,
			// může se stát, že vám to flash prohlížeč nedovolí;
			// místo _self zkuste _blank
			getURL("banner.html", "_self");
		}
 
		// definujeme skript, který bude vyvolán
		// při události generování nového snímku
		ctrl.onEnterFrame = function() {
			// zjednodušíme si život pomocnou proměnnou,
			// pro více objektů by se hodilo pole
			var obj1 = _root["kruh_0"];
			var obj2 = _root["kruh_1"];
 
			// ---- TADY UŽ ZAČÍNÁ SAMOTNÁ ANIMACE ----
			// pro ukázku je zvolena jednoduchá fyzika srážek
 
			// nx je pomocná ixová souřadnice.
			// jde o souřadnici, na kterou se objekt přesune,
			// pokud do ničeho nenarazí
			obj1.nx = obj1._x + obj1.v;
			obj2.nx = obj2._x + obj2.v;
 
			// pomocná proměnná ukazující, zda došlo ke kolizi, či nikoli
			obj1.collision = false;
			obj2.collision = false;
 
			// kontrola krajních mantinelů
			if (obj1.nx < 0) || (obj1.nx > Stage.width - 2*obj1.r) {
				obj1.v *= -1;
				obj1.collision = true;
			}
			if (obj2.nx < 0) || (obj2.nx > Stage.width - 2*obj2.r) {
				obj2.v *= -1;
				obj2.collision = true;
			}
 
			// kontrola kolize mezi objekty
			if Math.abs(obj1.nx – obj2.nx) < (obj1.r + obj2.r) {
				var u1 = obj1.v;
				var u2 = obj2.v;
 
				// výpočet výsledné rychlosti – uvažuje i různé hmotnosti
				obj1.v = (u1*(obj1.m – obj2.m) + 2*obj2.m*u2) / (obj1.m + obj2.m)
				obj2.v = (u2*(obj2.m – obj1.m) + 2*obj1.m*u1) / (obj1.m + obj2.m)
				obj1.collision = true;
				obj2.collision = true;
			}
 
			// pokud nedošlo ke kolizi, potom objekt skutečně přesuň,
			// v opačném případě objekt nepřesouvej;
			// když se to neudělá, mohl by objekt vyletět ze scény
			if !(obj1.collision) obj1._x = obj1.nx;
			if !(obj2.collision) obj2._x = obj2.nx;
 
			// hrátky s průhledností – po nárazu sniž průhlednost na 10 %
			if (obj1.collision) obj1._alpha = 10;
			if (obj2.collision) obj2._alpha = 10;
 
			// pokud není průhlednost 100 %, pomalu ji zvyšuj
			if (obj1._alpha < 100) obj1._alpha += 5;
			if (obj2._alpha < 100) obj2._alpha += 5;
		}
	}
 
}

Nyní už jen celý výsledek přeložíme:

swfmill simple kostra.xml kostra.swf
mtasc -swf kostra.swf -main skript.as -out vysledek.swf

A podíváme se na vysledek.swf – mělo by to fungovat. Celé se to nyní sbalilo do jednoho souboru o velikosti 2,8 kB.

Závěr

link

Na závěr bych uvedl jen tolik, že už mi Flash není tak nesympatický a že jsou nástroje, jak si ho přizpůsobit obrazu svému.

Hlavní problémy:

Menší problémy:

Nějaké ty výhody:

Projekt ke stažení: flash-ukazka.zip.


Článek původně vyšel v blogu.

Související články

Seriál: Kdenlive - nelineární video editor
Seriál: Inkscape
Seriál: GIMP v příkladech
Vektorizace rastrové grafiky
Převod filmu na DVD
Jak vytvořit vlastní DVD pod Linuxem

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

Diskuse k tomuto článku

Jardík avatar 18.6.2009 01:26 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
flash je zlo! flash je zlo! Nejenom, že verze pro Linux je v alpha stádiu, ale pro Windows a další OS není ani to. (samozřejmě se bavím o 64bit verzi).
Věřím v jednoho Boha.
18.6.2009 02:23 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
pro windoze není 64bit verze? uh, to sem nevěděl...
18.6.2009 08:37 appolito
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

flash je zlo!

+1

18.6.2009 09:29 Praedo
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

+1 ještě že je flashblock

19.6.2009 10:55 Boky
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
nejvic nejhorsi na celym svete...
20.6.2009 02:55 kolemjdouci
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

nejnejhoršejší na veškerých světech!

18.6.2009 23:49 JirkaH
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
uz to nehul :-D
21.6.2009 23:47 volunteer
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
to je divny, to je divny ... jak si mam teda vysvetlit, ze denne na 64-bit widlich s flashem pracuju? nejspis bezi v 32-bit compatibility modu, ale funguje celkem spolehlive (CS3 i CS4)
18.6.2009 06:07 Lukáš Kotek | skóre: 15
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin

Pěkný článek, díky za něj. Něco takového jsem už v minulosti potřeboval.

Lidstvo vydává obrovské prostředky na ochranu sebe sama před sebou samým. Znáte lepší definici šílenství?
mirec avatar 18.6.2009 08:34 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
Ale pokud jde o složitější animované reklamní proužky, potom pragmatická mysl nemůže zvolit nic lepšího, než je právě Flash.

Je niekto, kto to neblokuje? Ja som zásadne proti blokovaniu reklamy, ale flash nikdy (minimálne preto, lebo mi nefunguje v prehliadači, ktorý používam). Čím decentnejšia reklama so zaujímavou informáciou tým skôr na ňu kliknem, na animované kraviny už len z princípu neklikám.

LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
cezz avatar 18.6.2009 10:45 cezz | skóre: 24 | blog: dm6
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Ano, tiez mi zurivo blikajuci banner vadi (hoci ho neblokujem) a ano tiez nan zvycajne nekliknem, ale chapem, ze je vela ludi, ktori to beru ako pre nich zaujimavu reklamu a kopa inzerentov, ktori taku reklamu chcu mat.

Computers are not intelligent. They only think they are.
Adrin avatar 18.6.2009 11:26 Adrin | skóre: 13 | blog: kosmopako
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Popravdě, taky se snažím flash bannerů v prohlížeči zbavit, a na žádné bannery a reklamy už prakticky ani neklikám, ale převážná většina dnešních uživatelů ani neví, že je nějaká možnost, jak reklamní bannery blokovat (s klikáním už je to jiná - lidi jsou čím dál apatičtější, nevím jaká je míra prokliku u průměrné reklamy, ale myslím, že se pohybuje v desetinách procenta).

mirec avatar 18.6.2009 12:40 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
No ja občas kliknem na reklamu (nie moc často). Ale dnes ma jedna reklama fakt dostala. Veľa webov má už takú tú reklamu vtrepanú povedzme medzi odstavce v článku. Ja som predpokladal, že je to obrázok k článku a klikol (aby bolo jasné ten obrázok sa nenačítal a preto som chcel vedieť čo na ňom je - fakt účinná reklama, aspoň na mňa).
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
Josef Kufner avatar 19.6.2009 11:05 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Důvod blokovat veškerý flash je i v zatížení CPU a s tím související spotřebě, což je u notebooku běžícího na baterku celkem klíčová věc.

Od doby co mám flashblock mi flash vůbec nevadí... implicitně není a pokud ho potřebuju, stačí jednou kliknout :)
Hello world ! Segmentation fault (core dumped)
mirec avatar 19.6.2009 11:40 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Tak to zaťaženie u flashu je strašné. Obyčajná reklama je schopná zamestnať CPU na 100% čo fakt nepoteší. Našťastie mi nerobí problém ľudí, ktorí po mne chcú flash poslať niekam ;)
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
18.6.2009 09:20 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Flash®
Odpovědět | Sbalit | Link | Blokovat | Admin

Dovolím si menší poučení: Autor píše, že s Flashem má zaručené jednotné prostředí. To je pravda jen pokud se bavíme o Flashi, nikoliv však o SWF.

Ten první název je ochranná známka a označuje „jediný správný“ přehrávač SWF animací. Druhý pojem je označení formátu a zcela dle očekávání existuje více jeho interpreterů.

Je třeba dodat, že firma Adobe po uvolnění specifikací začala tuto politiku silně prosazovat, a tak třeba z Gnashe musely zmizet všechny výskyty slova Flash. Tímto bych chtěl požádat autora, aby se pro příště této „nové“ terminologie držel, protože jinak jeho text bude působit jako reklama nebo jako úsměvné zjednodušení či neznalost typu „internet se prohlíží Explorerem“.

Chápu, že dnešní nadvláda přehrávače Flash, operačního systému Windows a hardwaru typu x86 (pro Jardíka dodám 32bitového) může mnohým vyhovovat. Ale stále je to jen pokřivená realita, která se může změnit. V okamžiku, kdy třetina pracovních stanic nebude mít žádný přehrávač SWF, třetina od Adobe a třetina od jiného výrobce, tak poučky o univerzálnosti SWF skončí u HTML a ostatní webových technologií.

Adrin avatar 18.6.2009 11:28 Adrin | skóre: 13 | blog: kosmopako
Rozbalit Rozbalit vše Re: Flash®

Ano, už mě na to někdo upozorňoval. Jde o zjednodušení, kterému se pro příště pokusím vyhnout.

18.6.2009 10:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
Naivní dotaz: nástroj, který by umožnil přímo zkonvertovat SVG animaci do SWF asi neexistuje, že?
David Watzke avatar 18.6.2009 11:29 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Strč do google svg to swf, najde toho spoustu...
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
18.6.2009 11:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Ve skutečnosti to najde dva projekty, z nichž jeden umí jenom statické obrázky, a druhý je nějaká prezentace, ke které se mi nepodařilo příslušný program dohledat…
Adrin avatar 19.6.2009 09:44 Adrin | skóre: 13 | blog: kosmopako
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Pokud vím, tak swfmill je v konverzi svg->swf nejdál - nebo tomu věnují alespoň hodně pozornosti. Ke konverzi stačí připravit si jednoduchou kostru podobně jako je to v příkladu a pak provést generování swf.

19.6.2009 10:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Swfmill fakt umí načítat SVG? Na stránkách projektů jsem zkratku SVG nenašel ani jednou…
Adrin avatar 19.6.2009 10:56 Adrin | skóre: 13 | blog: kosmopako
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

V článku o tom píšu a v příkladu to dokonce používám. Zopakuju jen, že ta konverze není ještě dokonalá, text se nepřenese s fonty a nezachovají se rozměry (je lepší vše převést do křivek), barevné přechody nebo efekty rozmazání jsou ještě také problém a konverze na úrovni třeba javascriptu nebo smilu je asi zatím jen scifi. Ale vektorová grafika se do swf takto dostat dá. Bližší informace jsou zde: http://osflash.org/swfmill

19.6.2009 11:01 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Já jsem právě myslel, jestli neexistuje něco, co umí převést i deklarativně popsanou animaci. Nechce se mi právě to animování dělat znova. No, asi zatím zůstanu u exportu do animovaného GIFu…
18.6.2009 15:10 dc
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin

No neviem ci flash je az take zlo. Na RIA asi nic lepsie ani neni.Ma sice obmedzenia a je to pomerne uzavreta platfroma ale aspon ako tak zaruci ze vsetko pojde. Prehliadace webu su sice na rozne platformi a podporuju toho dost ale kazdy je iny, kazdy si riesi veci posvojom a javascript teda neni zrovna nejaka vyhra.

18.6.2009 16:18 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Uvědomujete si, že tu jako klad popisujete vendor lock-in? Brrr...
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
18.6.2009 16:44 razor | skóre: 33
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Mě by se líbilo, kdyby ten skvělý flash alespoň umožňil na linuxu vkládat non ascii znaky. Jinak je to jako RIA absolutně nepoužitelné.

Jardík avatar 18.6.2009 17:09 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Nebavte se sprostě (co je RIA?)
Věřím v jednoho Boha.
18.6.2009 19:06 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Rich Internet Applications, tedy bohaté (nebo možná tlusté) internetové aplikace, nebo možná internetové aplikace pro bohaté :-)
18.6.2009 16:26 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
Přidávám se, Flash je Absolutní Zlo (TM)! To už snad i ten Silverlight od Microsoftu je o něco otevřenější technologie (i když to je velmi relativní).

Flash mám v browseru defaultně zablokovaný a zapínám jej jen když je to opravdu nezbytně nutné. Článek o tvorbě Flashových reklamních bannerů je mi už z principu odporný, protože to je přesně to, co člověka na Flashi když už jej má zapnutý nejvíc štve (otravné animované, blikající a hrající bannery).
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
Adrin avatar 19.6.2009 10:15 Adrin | skóre: 13 | blog: kosmopako
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Mě velmi mrzelo, když Adobe zanevřel z pochopitelných důvodů na SVG. Tak moc mi SVG v kombinaci s java scriptem, stylováním a smilem, vyhovoval a těšil jsem se, že ho protlačí. Bohužel politika je politika, zamáčkl jsem slzu a rozhlédl se, jaká že je realita. Nic moc, ale že bych viděl všude jen zlo? SWF by neměl nahrazovat menu webových stránek, nebo dokonce celé stránky, pro multimédia bych ocenil střídmější použití swf a pro tvorbu aplikací v něm musí být sakra pádný důvod, ale pro reklamy ...? Pro webové reklamy, pokud je nepovažujete za kryptofašistický, buržoazní teror, je swf jasná volba. Protože když za mnou někdo přijde, že chce udělat stránky, tak mám 80 nebo 90 % šanci ho přesvědčit, aby se použily technologie html a spol., ale pokud chce reklamu a já přinesu animovaný gif, tak mám asi 95% šanci, ale na odmítnutí.

18.6.2009 16:41 M. Lox | skóre: 12
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
Flash je zlo, ale kdyby mi na mém počítači fungoval, tak ho zapnutý mám. Takhle jsem bohužel utřel nos. Web je pro text, aplikace mají běžet nativně, ale když už něco, tak JavaScript nebo Javu.
make menuconfig, not war!
18.6.2009 19:43 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Odpovědět | Sbalit | Link | Blokovat | Admin
Pro Flashovy magory pridam jeden paradni odkaz.

Prosim mrknete tam a nezapomente nechat prispevek v tamni diskuzi.

http://www.centrumpanorama.cz/

A to bohuzel musim dodat, ze predchozi web sice nehyril informacemi, ale byl stokrat lepsi.

Ten flash je neco jako ten, jehoz jmeno se nevyslovuje. Proste tenhle clanek je ZLO!

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
Jendа avatar 18.6.2009 23:51 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
To je toho, menu ve flashi. Nejhorší jsou stránky, které tvoří jeden velký flash. Když se v nich klikne na nějaký "link", tak obsah umělecky odjede a po spirále přijede jiný. To celé trvá třeba 20 sekund, takže mezitím zapomenu, proč jsem vlastně kliknul. O nemožnosti používání tabů a historie (a barvení prohlédnutých odkazů) ani nemluvě. Návrhářům a marketingovému to nepřijde, protože oni se tím webem kochají, zatímco návštěvníci hledají informace.
mirec avatar 19.6.2009 06:39 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Menu vo flashi je zlo. Vďaka tomu sa nedostanem k podstránkam keďže mi flash nefunguje.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
Fluttershy, yay! avatar 19.6.2009 09:16 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Tak k Flashi lze mít alternativní kód pro případ nepřítomnosti pluginu, ale naráží to na prasáckost webdizajnérů.
🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
mirec avatar 19.6.2009 10:52 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
No ta prasáckosť je už asi všade (hlavne u programátorov). Už málokto robí weby tak, aby fungovali aj bez js (ja sa snažím písať takým spôsobom, že js nijako neovplyvní funkčnosť ak je vypnutý, so zapnutým js len prinesie určité vylepšenia). Našťastie so swf to ešte také hrozné nie je (tým nechcem povedať, že by situácia bola dobrá).
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
19.6.2009 08:07 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Typickým příkladem takové zhovadilosti je garfield.com - děs! Ještě že na prohlížení existuje ten plasmoid, tohle bych dlouho nesnes...
19.6.2009 10:03 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů
Ten plasmoid mi s Garfieldem nechce fungovat. Jiné stripy to načte a zobrazí hezky, ale Garfield ani ťuk.
Rezza avatar 21.6.2009 11:46 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Animované flash bannery pomocí open source nástrojů

Jj, zlaty Plasmoid! Jednou jsem se tam chtel podivat, ja se lekl :D Ale jinak trebas kamos si hraje s Flashem, dela gamesky a to IDE je celkem bomba (aspon co jsem se zbezne dival).

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.