Megoldások cím
Google Keresés.
Tartalom Keresés.
Megoldások cím
• 01 Osztályok alap kezelése (4)
• 02 Töltéskijelző megoldások (6)
• 03 Mozgatások megoldásai (8)
• 04 Egyszerű rajzoló példák (8)
• 05 Egérrel vezérelt mozgás (4)
• 06 Alap eseménykezelések (8)
• 07 Filterek dinamikusan (4)
• 08 XML adatok kezelése
   ◊ 01 Egyszerű XML betöltés
   ◊ 02 XML adatok feldolgozása
   ◊ 03 Autosize megjelenítés
   ◊ 04 Xml szövegek és képek
   ◊ 05 Xml formázása CSS-el
• 09 Hangok alap kezelése (11)
• 10 Videó fájlok kezelése (1)
• 11 3D alakzatok készítése (6)
• 12 Egyedi context menu (3)
Érdekességek 1
Ilyés Lajos fejléc
Ilyés Lajos (Ducky)
Érdekességek 2
Partnerek cím
     ◊ Swf.hu Flash portál
     ◊ Designshop Vásárlás
     ◊ Coolgames játékoldal
     ◊ PentaSchool távoktatás
     ◊ Zone404 Webhosting
     ◊ Ducky Studio Programok
     ◊ Szoftver.hu Szoftverek
Elérhetőségek cím
Néhány kapcsolati adat, ha esetleg megtetszett a blog és szeretnél írni pár sort. Flash-el kapcsolatos kérdésekre az Swf.hu fórumán kaphatsz válaszokat, kérlek oda írj.
     ◊ Web:   www.ducky.hu
     ◊ Mail 1:   ducky@ducky.hu
     ◊ Mail 2:   ducky@ipmedia.hu
     ◊ Fórum:   Swf.hu Fórum
Statisztikák
  Látogatók száma eddig:  121304
  Lapletöltések száma:  173366
Valid W3C blog
Valid XHTML 1.0 Transitional Valid CSS!
Ma 2010. Szeptember 8. szerda van. A mai névnaposok: Mária, Adrienn. Boldog névnapot!
  Legújabb források:
  03 Egyedi menü alapok  02 Menü elemek egyenként
  01 Eredeti elemek tiltása  05 Xml formázása CSS-el
  06 EnterFrame videótöltés  05 Video fájl betöltése
  01 Alap Flv lejátszás  11 Több hang betöltése
Blogon található anyagok:
Témák száma: 12 téma  
Leírások száma: 68 leírás  
Példák száma: 136 példa  
Oldalak száma: 145 oldal  
05 Xml formázása CSS-el ( külső osztály verzió ) Olvasva: 2944 alkalommal.
Válaszd ki a megfelelő verziót:  [:: Külső osztály verzió ::]  [:: Frame-re írt verzió ::]    Lapozás: 1
A tartalommal és a bloggal kapcsolatos hozzászólásokat leírhatod, az Swf.hu oldalon erre a célra kialakított fórumtémában. Cím : Ducky AS3 blog. A fórum használatához Swf.hu regisztráció szükséges.
Ebben a példában azt fogjuk szemléltetni, hogy miként lehet egy beolvasott XML tartalmat külső CSS fájl segítségével formázni. Így az XML fájlokból beolvasott adatok sokkal egységesebbek és egységesen formázhatóak lesznek, akár csak a HTML-CSS esetében. Készítsünk egy új mozit a lenti képen látható paraméterekkel. A Properties panelen a Document class mezőben adjuk meg az XmlCssFeldolgozas osztályt.
img1
A megjelenő szövegmezőt és tartalmat az AS kód fogja megjeleníteni, így az FLA-ban nem kell semmilyen összetevőt elkészítenünk. A működő verzió megtekinthető a lenti példában.

Flash Lejátszó Hiányosság!

Az oldal Flash tartalmainak megtekintéséhez Flash 9-es lejátszó
szükséges. Az ön gépén található Flash lejátszó régebbi verzió.
Kérjük, hogy a lenti logóra kattintva frissítse a lejátszóját.

Adobe Flash player

Szükségünk lesz természetesen egy XML fájlra, aminek a tartalmát beolvashatjuk és megjeleníthetjük. Másoljuk be a lenti XML kódot egy üres XML fájlba és mentsük el az FLA fájllal azonos mappába elsoXmlHirek.xml néven.

<?xml version="1.0" encoding="iso-8859-2"?>
<hirek>

    <hir>
        <cim>Vége a gazdasági pereknek</cim>
        <datum>2008. 02. 24.</datum>
        <szoveg>A polgári eljárások gyorsítását célzó módosítási javaslatok egy része a kisebb súlyú vagyoni viták gyorsabb elintézését, a fizetési meghagyásos eljárás modernizálását, illetve a gazdasági ügyek peren kívüli elintézését szolgálják.</szoveg>
    </hir>

    <hir>
        <cim>Megszelídített vadházasságok</cim>
        <datum>2008. 02. 23.</datum>
        <szoveg>Csak egy darab papír, ami mindent tönkretesz - gondolják egyre többen a házasságról, amely nem is olyan régen még társadalmi rangot adó hatalmas esemény volt. Eközben az élettársi kapcsolatok megítélése is megváltozott: a Magyarországon hamarosan bevezetendő regisztrált élettársi kapcsolat pedig már szinte egyenértékű lesz a házassággal. A papír szabályoz, vagy gúzsba köt?</szoveg>
    </hir>

    <hir>
        <cim>Gépek által vezérelt emberek</cim>
        <datum>2008. 02. 22.</datum>
        <szoveg>A műholdas helymeghatározás, azaz a Global Positioning System (GPS) ma már a mindennapok része lett. Vannak azonban olyan speciális területei, melyeket az átlagember nem ismer. Extrém sportos és tengeri felhasználásáról a terület szakembereit kérdeztük.</szoveg>
    </hir>

</hirek>

Szükségünk lesz még egy egyszerű CSS fájlra is, amelyet szintén betöltünk és a stíluselemeit alkalmazzuk az XML szöveg megjelenítéséhez. Másoljuk be a lent látható CSS kódot egy üres CSS fájlba, majd mentsük el az FLA fájllal azonos mappába stilusLap.css néven.
/* Flash - XML Stíluslap */
p{
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 12px;
}
.cimStilus {
    color: #0000CC;
    font-weight: bold;
}
.datumStilus {
    color: #FF3300;
    font-style: italic;
}
.szovegStilus {
    color: #006600;
}
Most készítsük el az AS kódot, ami tulajdonképpen beolvassa az XML fájlt és a CSS stíluslapot, majd megjeleníti az eredményt. Írjuk a lent látható kódot egy új üres AS fájlba, majd mentsük el az AS fájlt XmlCssFeldolgozas.as néven az FLA fájlal azonos mappába. Ez megegyezik az XML-CSS osztály nevével.
/* XmlCssFeldolgozas.as */
//
package {

    // szükséges csomagok
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.*;
    import flash.text.*;

    // XmlCssFeldolgozas osztály
    public class XmlCssFeldolgozas extends Sprite {

        // tulajdonságok
        private var loadKontroll:URLLoader;
        private var cssLoader:URLLoader;
        private var xmlAdatok:XML;
        private var xmlFajlNeve:String;
        private var stilusFajlNeve:String;
        private var xmlKiiroMezo:TextField;
        private var ujszovegForma:TextFormat;
        private var stilusLap:StyleSheet;
        private var xmlBetoltve:Boolean;
        private var cssBetoltve:Boolean;
        private var xmladatLista:XMLList;

        // konstruktor
        public function XmlCssFeldolgozas() {
            loadKontroll = new URLLoader();
            loadKontroll.dataFormat = URLLoaderDataFormat.TEXT;
            cssLoader = new URLLoader();
            xmlFajlNeve = "elsoXmlHirek.xml";
            stilusFajlNeve = "stilusLap.css";
            xmlBetoltve = cssBetoltve = false;
            // xml betöltés indítása
            loadKontroll.addEventListener( Event.COMPLETE, xmlToltesKesz );
            loadKontroll.load( new URLRequest( xmlFajlNeve ) );
            // css betöltés indítása
            cssLoader.addEventListener( Event.COMPLETE, cssToltesKesz );
            cssLoader.load( new URLRequest( stilusFajlNeve ) );
            // betöltések ellenőrzése
            this.addEventListener( Event.ENTER_FRAME, betoltesekKeszen );
        }

        // betöltéseket ellenőrző enterframe
        private function betoltesekKeszen( event:Event ):void {
            // ha az xml és a css is betöltődött
            if ( xmlBetoltve && cssBetoltve ) {
                this.removeEventListener( Event.ENTER_FRAME, betoltesekKeszen );
                // mező készítése
                var stSzel:Number = stage.stageWidth;
                var stMag:Number = stage.stageHeight;
                xmlKiiroMezo = textmezoKeszit ( stSzel / 8, 10, stSzel / 1.3, stMag-20 );
                // mező tulajdonságok
                textMezoTulajdonsag();
                // szövegforma
                szovegFormaKeszites();
                // stíluslap hozzárendelése a szövegmezőhöz
                xmlKiiroMezo.styleSheet = stilusLap;
                // stíluselemek eltárolása
                var st1_n:String = "<span class='cimStilus'>";
                var st2_n:String = "   <span class='datumStilus'>";
                var st3_n:String = "<span class='szovegStilus'>";
                var st_z:String = "</span>";
                // adatok kiírása
                for (var i: int = 0; i < xmladatLista.length(); i++) {
                    var egyHirReszlet:XML = xmladatLista[i];
                    xmlKiiroMezo.htmlText += "<p><br>" + st1_n + egyHirReszlet.cim + st_z;
                    xmlKiiroMezo.htmlText += st2_n + "( " + egyHirReszlet.datum + " )" + st_z;
                    xmlKiiroMezo.htmlText += "<br><br>" + st3_n + egyHirReszlet.szoveg + st_z;
                    xmlKiiroMezo.htmlText += "</p><br>";
                }// end for
            }// end if
        }

        // XML betöltés vége metódus
        private function xmlToltesKesz( event:Event ):void {
            xmlBetoltve = true;
            xmlAdatok = new XML( event.target.data );
            xmladatLista = xmlAdatok.hir;
        }

        // CSS betöltés vége
        private function cssToltesKesz( event:Event ):void {
            cssBetoltve = true;
            stilusLap = new StyleSheet();
            stilusLap.parseCSS( cssLoader.data );
        }

        // szövegforma elkészítése
        private function szovegFormaKeszites():void {
            ujszovegForma = new TextFormat();
            ujszovegForma.align = TextFormatAlign.JUSTIFY;
            ujszovegForma.leftMargin = ujszovegForma.rightMargin = 10;
            ujszovegForma.size = 14;
            xmlKiiroMezo.defaultTextFormat = ujszovegForma;
        }

        // szövegmező tulajdonságok
        private function textMezoTulajdonsag():void {
            xmlKiiroMezo.border = true;
            xmlKiiroMezo.borderColor = 0x5667FE;
            xmlKiiroMezo.background = true;
            xmlKiiroMezo.backgroundColor = 0xECEEFF;
            xmlKiiroMezo.multiline = true;
            xmlKiiroMezo.wordWrap = true;
        }

        // szövegmező generáló metódus
        private function textmezoKeszit( xp:int, yp:int, wd:int, hd:int ):TextField {
            var ujText:TextField = new TextField();
            ujText.x = xp;
            ujText.y = yp;
            ujText.width = wd;
            ujText.height = hd;
            addChild( ujText );
            return ujText;
        }

    }// osztály vége

}// csomag vége
//
A mozi tehát betölti az XML fájlt és a CSS fájlt egyaránt, majd amikor mindkettő betöltődött, akkor megjeleníti a formázott tartalmat. A forrás letölthető ITT.
Válaszd ki a megfelelő verziót:  [:: Külső osztály verzió ::]  [:: Frame-re írt verzió ::]    Lapozás: 1