[ Početak. @ 30.06.2011. 18:10 ] @
Da li neko zna kako se moze ubaciti Google map (neke lokacije) na web stranu koja je radjena u Flashu. Ubacivao sam ranije u HTML kod al ovdje je sve uradjeno u flashu a tekst i neke ostale stvari vuce iz XML-a. Ako je potrebno mogu i postaviti izvorni kod, nije veliki.
[ MenOfHonor @ 30.06.2011. 19:36 ] @
Sve što ti je potrebno imaš ovde: Google Maps API for Flash. Ukratko, treba da se registruješ i navedeš koji ćeš domen koristiti kako bi dobio ključ i onda da preuzmeš SDK i iz foldera lib ekstraktuješ fajl map_1_20 (to je trenutna verzija) i stavi ga u neki folder, a zatim premesti na ovu lokaciju
Code:
C:\Program Files\Adobe\Adobe Flash CS5\Common\Configuration\Components

Naravno, ako ne koristiš Flash CS5 onda peticu zameni sa verzijom koju koristiš. Ako ti je otvoren Flash onda ga zatvori pa ponovo pokreni kako bi on registrovao novu komponentu. Nakon toga ćeš u prozoru Components imati komponentu GoogleMapsLibrary i dodaj je na stage. Nakon toga pogedaj primer korišćenja ove komponente: Google Maps API for Flash - Flash CS3 Tutorial.
[ Početak. @ 30.06.2011. 20:01 ] @
Probao sam nesto i ne ide. Posto vidim da se razumijes,postavio sam sajt, vrlo je mali. Mene sad interesuje da li kad kliknem na HOME mogu umjesto ovog teksta(tekst nije problem zamijeniti) mogu da postavim mapu lokacije gdje se nesto nalazi i neki propratni tekst. I da pitam kad jos nesto, kad otvorim Home, On se ne zatvara kad kliknem na About us ili Contacts vec samo na X il na njega samog. Jel se moze napraviti da kad je npr. otvoren Home da kad se klikne na About us da se ovaj zatvori a ovaj otvori. Pozz
[ MenOfHonor @ 30.06.2011. 23:51 ] @
Citat:
Početak.: Probao sam nesto i ne ide. Posto vidim da se razumijes,postavio sam sajt, vrlo je mali. Mene sad interesuje da li kad kliknem na HOME mogu umjesto ovog teksta(tekst nije problem zamijeniti) mogu da postavim mapu lokacije gdje se nesto nalazi i neki propratni tekst.

Možeš staviti mapu gde god hoćeš.
Citat:
Početak.:I da pitam kad jos nesto, kad otvorim Home, On se ne zatvara kad kliknem na About us ili Contacts vec samo na X il na njega samog. Jel se moze napraviti da kad je npr. otvoren Home da kad se klikne na About us da se ovaj zatvori a ovaj otvori. Pozz

Napravio sam manje izmene, tako da sada funkcioniše kako treba. Izmenjeni sajt možeš pogledati ovde: http://dhost.info/manofhonor/sajt/index.html. Možeš da ga preuzmeš iz priloga. Postavio sam samo FLA fajl, ostalo već imaš.
[ Početak. @ 01.07.2011. 09:10 ] @
Hvala, ovaj drugi dio je upravo ono sto sam trazio. Jel ti problem da mi pomognes u kom dijelu AS (pretpostavljam da je tu) se ovo podesava.
A sto se tice mape, ja ovaj sajt jos nisam postavio, da li mogu da koristim kljuc koji sam dobio za drugi sajt i gdje se unosi taj kljuc. Tj, da li ja mapu mogu da postavim tako da kad sajt pokrenem sa svog harda da se ona prikaze prije nego ga okacim. Pozz
[ MenOfHonor @ 01.07.2011. 13:24 ] @
Citat:
Početak.: Hvala, ovaj drugi dio je upravo ono sto sam trazio. Jel ti problem da mi pomognes u kom dijelu AS (pretpostavljam da je tu) se ovo podesava.

Uvek kažem da je komplikovanije vršiti izmene na gotovim templejtima nego napraviti svoj, jer prvo moraš da sagledaš način na koji je odrađen ceo projekat i kako je to autor zamislio. U ovom slučaju veći deo ovog templejta je urađen u ActionScript-u 2, tako da se kreira u vreme pokretanja (runtime) u flash plejeru. Tako se tasteri u meniju (njihova pozicija, tekst i događaji) definišu pozivanjem funkcija initMenu() koja se nalazi na drugom frejmu Action Layer lejera. Tebe interesuje ovaj deo koda:
Code:
var path = _root._menu;
    var _loc5 = 4;
    for (var _loc4 = 1; _loc4 <= _loc5; ++_loc4) 
    {
        var _loc3 = path["btn" + _loc4];
        _loc3._index = _loc4;
        _loc3.txt.gotoAndStop(_loc4);
        _loc3.back._width = _loc3.txt._width + 40;
        _loc3.anim._width = _loc3.txt._width + 40;
        _loc3.txt._x = Math.floor((_loc3._width - _loc3.txt._width) / 2);
        _loc3.txt._y = Math.floor((_loc3._height - _loc3.txt._height) / 2);
        _loc3._x = 0 + path["btn" + (_loc4 - 1)]._x + path["btn" + (_loc4 - 1)]._width + 3;
        if (_loc4 < _loc5)
        {
            path["stripe" + _loc4]._x = _loc3._x + _loc3._width;
        } // end if
        _loc3.onRollOver = function ()
        {
            _root.menuSound.start();
            this.anim.gotoAndPlay("over");
            new TweenColorTransform(this.txt, "", mx.transitions.easing.Regular.easeOut, this.txt.transform.colorTransform, new flash.geom.ColorTransform(0, 0, 0, 1, 255, 255, 255, 0), 5.000000E-001, true);
        };
        _loc3.onRollOut = _loc3.onReleaseOutside = function ()
        {
            this.anim.gotoAndPlay("out");
            new TweenColorTransform(this.txt, "", mx.transitions.easing.Regular.easeOut, this.txt.transform.colorTransform, new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0), 5.000000E-001, true);
        };
        _loc3.onRelease = function ()
        {
            if (_root.mayPress)
            {
                _root.changePage(this._index);
                _root.mainPage = this._index;
            } // end if
        };
}

U promenljivoj path će se nalaziti referenca na movieclip "_menu" u kome se nalaze 4 tastera menija. Korišćenjem for petlje prolazimo kroz sva 4 tastera i njihovu referencu smeštamo u promenljivu _loc3, a zatim im određujemo širinu (u zavisnosti od teksta koji se na njima nalazi) i visinu, kao i x i y poziciju, a zatim i vertikalnu liniju koja ih razdvaja. Takođe se za svaki od njih dodaje i akcija za mouse event (događaj koji se pokreće na određenu reakciju mišem: kada se pokazivačem miša pređe preko tastera, kada se on skloni sa njega i kada se svaki od tastera pritisne a zatim otpusti levi taster miša). Tebi je najinteresantniji dogadja onRelease, s obzirom da želiš da kada se pritisne neki od 4 tastera menija da samo taj bude vidljiv, a da ostali nestanu. Pošto se za prikaz stranice poziva funkcija changePage(num), a za njeno uništavanje hidePage(num), a svakoj se kao parametar prosleđuje broj stranice, odlučio sam da kada se pritisne neki taster da se upravo pozove funkcija hidePage(num) i da joj se prosledi broj stranice koja je prethodno bila prikazana. Da bi ovo postigao morao sam da deklarišem promenljivu koju sam nazvao brojStranice i da je inicijalizujem sa nulom. Prvi put proveravam da li ona ima vrednost 0 i ako je tako dodeljujem joj broj stranice koja je pritisnuta, a koja se nalazi u promenljivoj _index. Svaki sledeći put kada neki od tastera biva pritisnut proveravaće se da li odgovara strani koju treba da prikaže i ako nije tako onda će se taj broj prosleđivati funkciji hidePage(brojStranice) kako bi ona bila uništena, a ona čiji je taster pritisnut bila prikazana. Ovo je moguće postići korišćenjem uslovnog izraza if...else if koji će proveravati koju vrednost ima promenljiva "broj" i u skladu sa tim će prikazivati samo tu stranu, a prethodnu ukloniti:
Code:
if(brojStranice == 0)
    {
        brojStranice = this._index;
    }
    else if(brojStranice != this._index)
    {
        hidePage(brojStranice);
        brojStranice = this._index;
    }

Ovo je bio jedan od najbezbolnijih i najjednostavnijih načina (kako se ne bi u većoj meri menjao postojeći kod), a slično je moglo biti postignuto i na druge načine.
Citat:
Početak.:A sto se tice mape, ja ovaj sajt jos nisam postavio, da li mogu da koristim kljuc koji sam dobio za drugi sajt i gdje se unosi taj kljuc. Tj, da li ja mapu mogu da postavim tako da kad sajt pokrenem sa svog harda da se ona prikaze prije nego ga okacim. Pozz

To zavisi od domena koji si naveo kada si zahtevao ključ. Ključ unosiš kao vrednost svojstva key klase Map:
Code:
var mapa:Map = new Map();
mapa.key = "OVDE NAVEDI KLJUC";

Možeš testirati na lokalnom računaru kako bi utvrdio da li sve funkcioniše kako treba.
[ Početak. @ 01.07.2011. 18:35 ] @
Izvini, ponovo ja. Vidim da si u Action Layer: Frame 2 Ubacio dio koda
Code:
trace(prviPut);
            if(_root.prviPut == false)
            {
                switch(broj)
                {
                    case 1:hidePage(2),hidePage(3),hidePage(4);
                    break;
                    case 2:hidePage(1),hidePage(3),hidePage(4);
                    break;
                    case 3:hidePage(1),hidePage(2),hidePage(4);
                    break;
                    case 4:hidePage(1),hidePage(2),hidePage(3);
                    break;
                }


al ne vidim gdje si ubacio kod
Code:
if(brojStranice == 0)
    {
        brojStranice = this._index;
    }
    else if(brojStranice != this._index)
    {
        hidePage(brojStranice);
        brojStranice = this._index;
    }

Gdje da ubacim ovo? Nijesam se snasao. Jel to sve sto si odradio? Izvini sto smetam.
[ MenOfHonor @ 01.07.2011. 21:53 ] @
To mi je bila početna zamisao, ali nije najbolje rešenje jer se više puta poziva ista funkcija kako bi se obrisale stranice čiji taster nije pritisnut, iako je prethodno samo jedna od njih bila prikazana. Bez obzira na to što i takva solucija ima isti efekat brisanja prethodno prikazane stranice, nije dobra sa aspekta optimizacije. Preuzmi ponovo FLA fajl iz priloga (main.fla) u kojem sam primenio rešenje koje sam u prethodnom odgovoru objasnio. Postavio sam i primer korišćenja Google Maps-a u Flash-u kako bih prikazao svoju lokaciju, a možeš ga pogledati ovde: http://dhost.info/manofhonor/flash_mapa.html.
[ Početak. @ 01.07.2011. 22:58 ] @
Hvala puno. Sto se tice google maps, uradio sam kako si mi rekao i sad mapu mogu da postavim kad otvorim novi Flash file (ActionScript 3.0) a kad otvorim 2.0 u components mi uopste nema google maps. Jel mozda treba da preuzmem stariju verziju od map_1_20, il jednostavno ne moze na 2.0, tj ne mogu je postaviti na ovaj sajt jer je na nnjemu ActionScript 2.0.
I ajde kad ti vec dosadjujem, da li se ista izmjena moze izvrsiti i na ovaj dio koda (skoro isti sajt)
Code:
function initMenu()
{
    var _loc8 = _root._menu;
    var _loc5 = _loc8.panel;
    var _loc7 = _loc8.btn;
    var _loc6 = 3;
    for (var _loc4 = 1; _loc4 <= _loc6; ++_loc4)
    {
        var _loc3 = _loc5["btn" + _loc4];
        _loc3._index = _loc4;
        _loc3.txt.gotoAndStop(_loc4);
        _loc3.onRollOver = function ()
        {
            _root.menuSound.start();
            this.gotoAndPlay("over");
        };
        _loc3.onRollOut = _loc3.onReleaseOutside = function ()
        {
            this.gotoAndPlay("out");
        };
        _loc3.onRelease = function ()
        {
            _root.showPage(this._index);
        };
    } // end of for
    _loc7.onRollOver = function ()
    {
        _root.linkSound.start();
        this.gotoAndPlay("over");
    };
    _loc7.onRollOut = _loc7.onReleaseOutside = function ()
    {
        this.gotoAndPlay("out");
    };
    _loc7.onRelease = function ()
    {
        _root.isMenu ? (_root._hideMenu()) : (_root._showMenu());
    };
} // End of the function
function _showMenu()
{
    _root.isMenu = true;
    var _loc3 = _root._menu;
    var panel = _loc3.panel;
    var _loc2 = _loc3.btn;
    var _loc4 = new mx.transitions.Tween(_loc2, "_x", mx.transitions.easing.Strong.easeOut, _loc2._x, -_loc2._width, 2.500000E-001, true);
    _loc4.onMotionFinished = function ()
    {
        new mx.transitions.Tween(panel, "_x", mx.transitions.easing.Regular.easeOut, panel._x, 0, 4.000000E-001, true);
    };
    clearInterval(_root.menuInter);
    _root.menuInter = setInterval(_root, "checkMenu", 7000);
} // End of the function
function _hideMenu()
{
    _root.isMenu = false;
    var _loc3 = _root._menu;
    var _loc2 = _loc3.panel;
    var btn = _loc3.btn;
    var _loc4 = new mx.transitions.Tween(_loc2, "_x", mx.transitions.easing.Regular.easeOut, _loc2._x, -_loc2._width, 4.000000E-001, true);
    _loc4.onMotionFinished = function ()
    {
        new mx.transitions.Tween(btn, "_x", mx.transitions.easing.Strong.easeOut, btn._x, 0, 2.500000E-001, true);
    };
    clearInterval(_root.menuInter);
} // End of the function


[Ovu poruku je menjao Početak. dana 02.07.2011. u 00:14 GMT+1]
[ MenOfHonor @ 01.07.2011. 23:49 ] @
Citat:
Početak.: Hvala puno. Sto se tice google maps, uradio sam kako si mi rekao i sad mapu mogu da postavim kad otvorim novi Flash file (ActionScript 3.0) a kad otvorim 2.0 u components mi uopste nema google maps. Jel mozda treba da preuzmem stariju verziju od map_1_20, il jednostavno ne moze na 2.0, tj ne mogu je postaviti na ovaj sajt jer je na nnjemu ActionScript 2.0.

Google nema API za AS2, tako da ga u tom slučaju nije moguće koristiti. Postoji Flash interfejs razvijen za AS2 od strane "Kritične Mase", a možeš da ga preuzmeš iz priloga. Pošto ovo nije komponenta najbolje bi bilo da učitaš "googlemap.swf" u svoj projekat, kako ne bi morao da kopiraš ceo kod.
Citat:
Početak.: I ajde kad ti vec dosadjujem, da li se ista izmjena moze izvrsiti i na ovaj dio koda (skoro isti sajt)

Možeš, isto kao što je već odrađeno u onom projektu (samo ne zaboravi da u prvom frejmu prvog lejera deklarišeš promenljivu brojStranice i dodeliš joj vrednost 0):
Code:
_loc3.onRelease = function ()
        {
        if(brojStranice == 0)
            {
                brojStranice = this._index;
            }
            else if(brojStranice != this._index)
            {
                   hidePage(brojStranice);
            brojStranice = this._index;
        }
                _root.showPage(this._index);
        }

[ Početak. @ 02.07.2011. 07:11 ] @
Posto nijesam uspio, postavicu sajt pa ti pogledaj ako mozes. Isto je kao kod onog sa smjenjivanjem stranica al nesto nece.
Ja napravim Google map i na Publish preview je sve ok, al kad je izvezem i kliknem na swf fajl javlja gresku. Ako ti nije problem ucitaj neki swf fajl na npr stranicu home jer ja nema sanse da sam to mogao. Pozz i hvala
[ Početak. @ 02.07.2011. 12:36 ] @
Uspio sam na ovom sajtu zadnjem sto sam ti poslao da postavim da se stranice Home, About us i Contacts smjenjuju, al kad kliknem na Gallery ona sto je prije toga bila aktivna ne gasi se. Al ok, nema veze. Al nikako mi ne polazi za rukom da uvezem neki swf fajl na stranicu npr Home. Jel moze to nekako?
[ MenOfHonor @ 03.07.2011. 01:10 ] @
Citat:
Početak.: Posto nijesam uspio, postavicu sajt pa ti pogledaj ako mozes. Isto je kao kod onog sa smjenjivanjem stranica al nesto nece.
Ja napravim Google map i na Publish preview je sve ok, al kad je izvezem i kliknem na swf fajl javlja gresku.

Verovatno ti prijavljuje bezbednosno upozorenje kako bi sprečio "potencijalno opasnu operaciju". Da bi omogućio pristup google-ovom servisu u Flash-u iz menija File izaberi Publish Settings, izaberi karticu Flash i za opciju Local playback security u padajućem meniju izaberi Access network only. Sada možeš da pritisneš taster Publish i prikazaće mapu.
Citat:
Početak.: Uspio sam na ovom sajtu zadnjem sto sam ti poslao da postavim da se stranice Home, About us i Contacts smjenjuju, al kad kliknem na Gallery ona sto je prije toga bila aktivna ne gasi se.

Pa to ti je jednostavno - u funkciji initGallMenu() pronađi onRelease događaj i pozovi funkciju hidePage() i prosledi joj brojStranice koja je trenutno aktivna:
Code:
_loc3.onRelease = function ()
        {
            if (_root.gallPage != this._index && _root.mayPress)
            {
                cont["btn" + _root.gallPage].gotoAndPlay("out");
        hidePage(brojStranice);
                _root.gallPage = this._index;
                _root.initGallery(this._index);
            } // end if
        };

Citat:
Početak.: Al nikako mi ne polazi za rukom da uvezem neki swf fajl na stranicu npr Home. Jel moze to nekako?

To ti je još jednostavnije - kreiraj prazan movieclip i korišćenjem loadMovie() funkcije učitaj mapu:
Code:
this.createEmptyMovieClip("mapa",this.getNextHighestDepth());
mapa.loadMovie("googlemap.swf");

Podrazumevana pozicija učitanog klipa će biti x = 0 i y = 0. Takođe je moguće da ga učitaš unutar nekog movieclipa, samo zameni ključnu reč this sa nazivom instance tog movieclip-a.
[ Početak. @ 03.07.2011. 09:45 ] @
Hvala. Ovo sa swf fajlom nikako ne ide. Jel treba na nekom odredjenom mjestu da kreiram prazan movieclip i da samo njemu dodam akciju? I jel ovaj swf fajl dovoljno da stavim u isti folder sa svim ostalim?
[ MenOfHonor @ 03.07.2011. 10:07 ] @
Možeš da ga staviš na drugi frejm prvog lejera, gde ti se nalazi sav kod. Onako kako sam ti napisao podrazumevao sam da se "googlemap.swf" nalazi na istoj lokaciji kao i "main.swf". To nije obavezno, jer ti se mapa može nalaziti i u nekom drugom folderu, samo što tada moraš da navedeš putanju do fajla. Da ne bih ponavljao ono što sam već pisao u vezi apsolutnih i relativnih URL-ova pogledaj ovu temu. Interesuje me da li ti pokušavaš da učitaš "googlemap.swf" koji je urađen sa AS3-om u "main.swf" koji je rađen sa AS2-om? Ako je tako trebalo bi da znaš da ne možeš učitavati swf-ove koji su rađeni sa AS3-om u one sa AS2-om. Obratno je moguće, ali pošto je tebi glavni swf u koji treba da učitaš mapu izrađen sa AS2-om onda imaš dve mogućnosti na raspolaganju: prva je da koristiš AS2 verziju mape, a druga je da napraviš jedan prazan AS3 swf i da u njega učitaš oba swf-a.
[ Početak. @ 03.07.2011. 10:25 ] @
Da upravo to, pokušavam da učitam "googlemap.swf" koji je urađen sa AS3-om u "main.swf" koji je rađen sa AS2-om? Jel samo treba da ucitam AS2 verziju mape? Ovaj drugi dio
Citat:
a druga je da napraviš jedan prazan AS3 swf i da u njega učitaš oba swf-a
mi nije bas najjasniji al nema veze i onako sam te previse gnjavio:)

Evo me ponovo:) Da li ja mogu da na ovu stranicu home uvezem neki html fajl na koji se nalazi mapa?

[Ovu poruku je menjao Početak. dana 03.07.2011. u 11:41 GMT+1]
[ MenOfHonor @ 03.07.2011. 12:16 ] @
Možeš da napraviš novi flash AS3 fajl koji će biti dimenzija tvog postojećeg AS2 fajla i zatim ćeš tvoj sajt da učitaš u taj prazan AS3 swf, kao i google mapu koja je izrađena sa AS3-om. Što se tiče učitavanja HTML fajla: to jeste moguće, ali kako Flash podržava mali broj tagova ovo ti ne bi bilo dobro rešenje. Ostaje ti još jedna mogućnost a to je otvaranje novog prozora pomoću JavaScript-a u kojem će se prikazati mapa ili da jednostavno umesto google mape staviš statičnu sliku mape koju možeš učitati u postojeći projekat i time sebi olakšati život. Uglavnom se ovakvo rešenje primenjuje jer ako želiš da prikažeš lokaciju svoje firme onda je dovoljno da postaviš sliku sa obližnjim (prepoznatljivim) objektima i ulicama, pa da naznačiš gde se tačno firma nalazi.
[ Početak. @ 03.07.2011. 13:09 ] @
Kako mislis da ucitam svoj sajt, jel treba da ucitam samo main.swf fajl ili...nesto mi bas nije jasno. I to vjerovatno nije obicno ucitavanje, treba li da dodam im neku akciju? I jel taj novi AS3 fajl da nazovem main?
[ MenOfHonor @ 03.07.2011. 16:13 ] @
Učitavaš svoj sajt kao i bilo koji swf. Jel' znaš kako se učitava swf u flash sa AS3-om?
[ Početak. @ 03.07.2011. 17:10 ] @
Ne sa AS3, al nema smisla da te vise gnjavim. Hvala ti puno.
[ MenOfHonor @ 09.07.2011. 13:44 ] @
Mislio sam da napraviš novi AS3 projekat veličine "main.fla" fajla (1280x1024 px) u kojem ćeš prikazati mapu i učitati "main.swf". Postavio sam završen projekat pa možeš da vidiš kako izgleda: http://dhost.info/manofhonor/sajt/index.html. Kada se odabere "contact" stavka iz menija prikazuje se google mapa.
[ Početak. @ 12.07.2011. 12:45 ] @
Jel ima neki tutorial il sl da me uputis kako da u AS3 ucitam main.swf i kako da odredim da se npr. na odabir contacts ili home pokaze mapa?
[ MenOfHonor @ 12.07.2011. 17:25 ] @
Učitavanje swf-ova u AS3 je slično kao i učitavanje ostalih fajlova samo što se u ovom slučaju koristi Loader klasa (umesto URLLoader klase za učitavanje na primer tekstualnih fajlova). Prvo se deklariše promenljiva u kojoj se nalazi instanca klase URLRequest kojoj kao argument prosleđujemo putanju i naziv fajla koji želimo da učitamo:
Code:
var urlZahtev:URLRequest = new URLRequest("main.swf");

Sledeće je deklarisanje promenljive u kojoj će se nalaziti instanca klase Loader:
Code:
var swfLoader:Loader = new Loader();

Sada dodajemo osluškivač događaja koji će pozvati funkciju kada se fajl uspešno učita:
Code:
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, zavrsenoUcitavanje);

Ovde je potrebno naglasiti da se za razliku od URLLoader objekta osluškivač događaja ne dodaje direktno na sam objekat već na njegovo svojstvo contentLoaderInfo.
Sada učitavamo swf korišćenjem load() metode kojoj kao argument prosleđujemo URLRequest objekat:
Code:
swfLoader.load(urlZahtev);

Kada je fajl uspešno učitan pozivamo funkciju u kojoj dodajemo učitani swf na stage:
Code:
function zavrsenoUcitavanje(event:Event):void
{
    addChild(event.target.loader);
}

Sada se "main.swf" prikazuje na stage-u, a kako on ima iste dimenzije kao i AS3 fajl ne može se primetiti da je to ustvari zaseban fajl. u U AS3 fajlu se nalazi i google mapa koja se nije vidljiva sve dok se ne pritisne taster "contacts" u meniju. Da bi sve ovo funkcionisalo moramo da koristimo LocalConnection klasu u oba fajla kako bi mogli da klikom na taster "contacts" da pozovemo funkciju koja se nalazi u AS3-u koja će prikazati mapu, kao i da je sakrijemo kada se pritisne na neki drugi taster u meniju. Kod za prikazivanje mape je isti kao u prethodnim primerima samo što sam sada dodao sledeće:
Code:
stage.addChild(mapa);
mapa.visible = false;
var konekcija:LocalConnection = new LocalConnection();
konekcija.connect("Konekcija");
konekcija.client = this;

function prikaziMapu():void
{
    mapa.visible = true;
}

function sakrijMapu():void
{
    mapa.visible = false;
}


Sad iz "main.swf" treba da pozovem funkciju prikaziMapu() kada želim da je prikažem. To znači da u AS2-ci u funkciji koja prikazuje "contact" stranu treba da dodam sledeće:
Code:
function changePage(num)
{
    if (num == 4)
    {
        var konekcija:LocalConnection = new LocalConnection();
        konekcija.send("Konekcija","prikaziMapu");
        page.gotoAndStop(2);
    }
}

Kada želim a sakrijem mapu pozivam funkciju sakrijMapu():
Code:
function hidePage(num)
{
    if (broj == 4)
    {
        var konekcija:LocalConnection = new LocalConnection();
        konekcija.send("Konekcija","sakrijMapu");
    }
}

Možda se pitaš zašto sam mapu dodao na stage a zatim je odmah sakrio, umesto da sam svaki put kad pozovem funkciju za kreiranje mape dodao je na stage a kada pzovem funkciju za sakrivanje mape uklonio je, odnosno:
Code:
function prikaziMapu():void
{
    stage.addChild(mapa);
}

function sakrijMapu():void
{
    stage.removeChild(mapa);
}

To je zato što je za prikazivanje mape potrebno nekoliko sekundi a moguće je da se posetilac sajta neće toliko dugo zadržati na toj strani pa neće moći ni da primeti mapu jer se ona nije još uvek učitala. Prvi način je bolji jer će se mapa u pozadini učitavati samo neće odmah biti vidljiva, ali će se zato odmah prikazati kada se klikne na taster "contacts".
[ Početak. @ 13.07.2011. 07:42 ] @
Uvezao sam main.swf i to radi al ovo sa mapom ne radi, vjerovatno nisam na pravom mjestu promijenio dio koda. Prvo sam otvorio novi AS3 fajl, dodao mu google map, odmah ispod toga dodao dio koda za ucitavanje main.swf a ispod toga dio koda sa LocalConnection klasom. U main.swf u AS2 sam u Action Layer: Frame 2(mozda ne treba tu) ubacio djelove koda za prikazivanje i skrivanje mape. Kad sam to odradio ucitava se main.swf al mapa nece. Gdje grijesim il ako ti nije problem postavi ta dva FLA fajla pa cu vidjeti kako si ti uradio.
[ MenOfHonor @ 13.07.2011. 11:36 ] @
Možeš iz priloga da preuzmeš završeni sajt: "main.fla" koji sam izmenio i "index.fla" koji sam dodao, a ostale fajlove imaš. Otvori oba fajla u Flash-u i prvo testiraj (ili izvezi swf) "main.fla" a zatim "index.fla" pa pokreni "index.swf" i onda možeš da testiraš sajt. Oba fajla su rađena u Flash-u CS5 pa ako koristiš stariju verziju nećeš moći da ih otvoriš. Ako je tako javi mi pa ću ti poslati fajlove kompatibilne sa prethodnim verzijama.
[ Početak. @ 13.07.2011. 14:11 ] @
Koristim CS4! Pa ako ti nije problem postavi fajlove koji su kompatibilni sa CS4. I jedno pitanje onako, posto vidim da se u sve razumijes. Da li se na ovim mapama u Flash-u moze npr. podesiti da se bira tip mape (map ili satellite kao kad se kopira u html source code stranice) i da imaju tasteri za umanjivanje i uvecavanje, posto se ove mogu samo uvecacati!

[Ovu poruku je menjao Početak. dana 13.07.2011. u 15:45 GMT+1]
[ MenOfHonor @ 13.07.2011. 15:32 ] @
Može, postoji dosta klasa za prilagođavanje mape svojim potrebama. U prilogu su fajlovi za CS4!
[ Početak. @ 13.07.2011. 15:36 ] @
Ovo sto se tice mape sam vidio da moze, tako da samo postavi kompatibilne fajlove kad mognes. Interesuje me izbor vrijednosti true ili false kod map.sensor. Radi sta god se izabere pa me interesuje sta je bolje izabrati?

Nisam vidio da si vec postavio. Hvala
[ MenOfHonor @ 13.07.2011. 16:16 ] @
Vrednost sensor svojstva navodimo kao "true" u slučaju da naša aplikacija koristi GPS, što znači da se uglavnom koristi za prenosne uređaje. Bitno je naglasiti da zahteva boolean vrednosti (true/false) i da se one navode kao string (stavljaju se pod znacima navoda):
Code:
var mapa:Map = new Map();
mapa.sensor = "true";
// ukoliko ne koristimo GPS
mapa.sensor = "false";

Sve opcije google mape možeš pronaći na sledećim adresama: Google Maps API for Flash Basics, Google Maps API for Flash - Flash CS3 Tutorial i Google Maps API for Flash Developer Guide.
[ Početak. @ 13.07.2011. 18:42 ] @
Taman sam mislio da sam ukapirao kako radi:) Kad ona dva fajla sto si poslao sjedinim sa ostatkom sajta desava se sledece. Main izvezem bez problema i kad kliknem na main.swf radi. Index fajl kad odradim publish preview pokazuje se mapa, al kad izvezem i kliknem na index.swf nema nista osim bijela pozadina. Ukljuceno je access network only. Kad ga okacim radi al bez mape. Nemam pojma zato na preview radi a ovamo ne.
[ MenOfHonor @ 13.07.2011. 18:58 ] @
Jesi li stavio odgovarajući ključ za google mapu? Da bi se mapa prikazivala kada pokreneš "index.swf", kao i kada ga pokreneš na serveru, potrebno je da uneseš ključ koji je generisan za domen koji si naveo prilikom registrovanja. Video si na primeru sajta koji sam postavio da sve funkcioniše kako treba.
[ Početak. @ 13.07.2011. 19:21 ] @
Stavio sam odgovarajuci kljuc. Da mozda nema veze zato sto ga kacim naq besplatan domen.
[ MenOfHonor @ 13.07.2011. 20:34 ] @
Nema veze, i onaj primer što sam postavio nalazi se na besplatnom domenu. Jel' se "com" folder nalazi na istoj lokaciji kao i "index.swf"? Da li si i u "main.fla" podesio Access network only? Jesi li probao da li radi na WampServer-u? Tebi je u suštini najbitnije da radi na serveru pa prvo probaj da li radi na Apache serveru, a onda ćemo da vidimo šta se dešava.
[ Početak. @ 14.07.2011. 12:41 ] @
Kad main.fla izvezem kao access network only i kad startujem main.swf pojavi se samo bijela pozadina. Kad ga izvezem kao access local files only main.swf mi je isti kao prije. Kod index.fla bilo kako da ga izvezem (probao sam obje kombinacije sa main) nema nista, jedino kad je main.swf izvezen kao access local files only onda na publish preview pokazuje mapu al kad izvezem nista. Kad je main.swf izvezen kao access network only onda ni na publish preview nema nista. Da nije nesto do podesavanja kod mog CS4. Ako ti nije muka postavi tvoja dva swf fajla (main i index) da vidimo radi li tako.
[ MenOfHonor @ 14.07.2011. 15:24 ] @
Već sam postavljao dva fajla koja sam koristio u onom primeru, ništa nisam menjao. Kada testiraš dobijaš ta dva potrebna swf-a. Jesi li probao preko WampServer-a da ga pokreneš? Pogledaj još jednom kako izgleda na serveru: http://dhost.info/manofhonor/sajt/index.html. Tako isto izgleda i kada ga pokreneš preko WampServer-a. Ne obraćaj pažnju na to što neće da radi kada ga pokreneš direktno u flash plejeru ili pretraživaču, bitno je da radi na serveru.
[ Početak. @ 14.07.2011. 15:36 ] @
Jesam al nece! Ova dva swf fajla dobijem kad testiram kod oba je podeseno access network only pa ti probaj radi li kad njih ubacis, mozda je nesto poremeceno kod mojih podesavanja za publish. Al mi je cudno jer kad posebno napravim mapu i izvezem je radi. Isti slucaj je i kad uvezem samo main u AS3.
[ MenOfHonor @ 14.07.2011. 17:01 ] @
Preuzmi moje swf fajlove i stavi ih u zaseban folder, a zatim tu kopiraj i sve ostale potrebne fajlove. Kada pokreneš "index.swf" prikazaće ti se upozorenje gde treba da pritisneš taster Settings nakon čega ćeš biti preusmeren na stranu Adobe-a (tada Macromedia) gde u Settings Manager-u iz padajućeg menija Edit Locations treba da izabereš Add location i u novootvorenom prozoru treba da pritisneš taster Browse for folder i da odabereš folder gde ti se nalaze ti fajlovi, kako bi u budućnosti "index.swf" mogao da pokrećeš direktno sa hard diska.
[ Početak. @ 14.07.2011. 17:26 ] @
Kad startujem index.swf nema nikakvo upozorenje, samo mi se otvori prozor sa bijelom pozadinom. Jel moguce da sam ja to nekako nenamjerno iskljucio?
[ MenOfHonor @ 14.07.2011. 17:41 ] @
Koju verziju flash plejera koristiš? Verovatno je to problem. Instaliraj poslednju verziju i onda probaj. Takođe možeš i da instaliraš Flash Player debugger kako bi video sve greške koje se pojavljuju tokom izvršavanja swf-ova.
[ Početak. @ 15.07.2011. 13:17 ] @
Pokrenuo sam ga sa Wamp servera i to mi je dovoljno, samo gledam kako radi. Vidio sam da kod tebe kad si ga postavio ima prateca muzika. Na ovim besplatnim hostovima sa kojim se ja igram ne moze se postaviti valjda zbog zastite autorskih prava i sl pa me interesuje jel ima neka fora i za to il jednostavno na ovaj sto si ti postavio nema te zabrane. I jos jedno pitanje, npr kad dodam neki padajuci meni na onaj sajt, ako je ukljucena mapa, meni mi se podvlaci ispod mape. Jel se moze podesiti da meni ide preko a ne da se mapa makne kad se on klikne?
[ MenOfHonor @ 15.07.2011. 14:59 ] @
Uglavnom je na besplatnim hostovima postavljeno ograničenje veličina fajla. Na prethodnom hostu nisam mogao da postavljam fajlove veće od 10MB tako da sam tražio bolju alternativu i onda sam naišao na ovaj koji danas koristim gde je maksimalna dozvoljena veličina 100MB, što je sasvim dovoljno. Jedino je problem što se na odobravanje naloga čeka duže vreme (na moj nalog sam čekao nekoliko nedelja). Što se tiče prikaza mape kod mene nema takvih problema. Prikaz u velikoj meri zavisi od rezolucije ekrana i od vrednosti width i height atributa u (X)HTML fajlu. Tako na primer ako staviš da je width="100%" i height="100%" onda će širina i visina sajta imati dimenzije pretraživača, odnosno ako je prozor pretraživača maksimizovan onda će dimenzije sajta biti jednake rezoluciji monitora (samo što visina mora biti malo manja jer se oduzima visina tabova, address bar-a i toolbar-a). Ako želiš da fiksiraš dimenzije onda možeš da za širinu i visinu sajta navedeš širinu i visinu flash projekta (u ovom slučaju naveo bi sledeće: width="1280" height="1024"). Kod mene sa rezolucijom monitora 1920x1080 najviše odgovara visina 950px. Treba da imaš na umu da u svim pretraživačima nije ista visina jer svi po default-u ne prikazuju iste toolbarove i status bar, pa i to moraš uzeti u obzir. Najbolje je da eksperimentišeš dok ne pronađeš odgovarajuću vrednost. Ne zaboravi da i u CSS-u moraš takođe promeniti vrednost width atributa izraženu u pikselima (u HTML-u nije ptrebno eksplicitno navesti jer se podrazumevano koriste pikseli, a pored toga možeš koristiti i procente). Ako želiš samo da se meni prikazuje preko mape onda mu moraš promeniti z-index ("dubinu") korišćenjem setChildIndex() metode u kojoj navodiš dva argumenta: naziv obejkta kojem hoćeš da promeniš dubinu i broj koji označava novu dubinu objekta. Veći broj znači da će se objekat prikazati iznad ostalih, ali takođe taj broj nesme biti veći od ukupnog broja dece (numChildren) koji se nalaze u tom kontejneru. U AS2 bi koristio metod getNextHighestDepth() kako bi obejkat prikazao iznad svih ostalih.
[ Početak. @ 15.07.2011. 16:12 ] @
Hvala. Na slicnim sajtovima imao sam problem oko nasih slova, kako da ih podesim a da ne mijenjam swf fajl. Npr nekim menijima je u AS moguce promijeniti naziv al ne prihvataju nasa slova, samo ih ignorisu nema ni nekih posebnih znakova mjesto njih. U Fla fajlu ja promijenim font i stavim koji podrzava nasa slova al nista. Isto npr neka imena je moguce mijenjati i u xml fajlu iz koga vuce neke podatke. Iako je podeseno da je encoding="utf-8" zanimljivo je da tekst koji treba da se ucita moze da sadrzi nasa slova a naziv npr stranice nece da ih prikaze.
[ MenOfHonor @ 15.07.2011. 18:38 ] @
Možeš da ugradiš (embeduješ) font koji podržava naša slova korišćenjem embedFonts svojstva TextField klase. Da bi koristio ovu varijantu moraš u prozoru Properties tekst polja u kojem će se prikazati taj sadržaj da pritisneš taster Embed, zatim da izabereš grupu karaktera koju ćeš koristiti (mala i velika slova, brojevi, znakovi) i da taj font izvezeš za korišćenje u ActionScript-u (opcija Export for ActionScript).
[ Početak. @ 16.07.2011. 10:42 ] @
Ovo nema mnogo veze sa flash-om al da ne otvaram na drugom mjestu. Stranice About me, Contacts "povlace" sadrzaj iz XML fajla. I to je samo obican tekst. Interesuje me da li se moze dodati neka referenca ka nekom linku ili nekom dokumentu i da to stoji npr na stranici contacts da kad tamo kliknes on te prebaci na taj dokument. Il da se na stranici contacs postavi neka tabela il sl?
[ MenOfHonor @ 16.07.2011. 13:09 ] @
U svakom slučaju bolje je da otvoriš novu temu kako bi oni koji imaju isto pitanje lakše mogli da je pronađu. Što se tiče tvog pitanja moguće je imati link u XML fajlu, ali on mora biti stavljen u CDATA blok, na primer:
Code:
<![CDATA[<a href="www.sajt.com">Ovo je link</a>]]>

Da bi link ispravno prikazao u tekst polju moraš ga renderovati kao HTML korišćenjem htmlText svojstva klase TextField.
Evo ti jednostavan primer kako možeš da učitaš XML fajl i da prikažeš link čijim pritiskom otvaraš navedenu adresu na novoj strani pretraživača:
Code:
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.Event;

XML.ignoreWhitespace = true; // moze se izostaviti jer je podrazumevana vrednost true

var xml:XML;
var xmlZahtev:URLRequest = new URLRequest("link.xml");
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE, ucitanXML);

function ucitanXML(event:Event):void
{
    xml = new XML(event.target.data);
    dinamicki_txt.htmlText = xml;
}

xmlLoader.load(xmlZahtev);


XML fajl izgleda ovako:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<link>
    <![CDATA[<a href="www.sajt.com">Ovo je link</a>]]>
</link>
[ Početak. @ 16.07.2011. 13:41 ] @
Citao sam o ovome al mi tad nije bilo najjasnije. Da li ja ovaj dio koda(drugi sto si ti postavio) treba da se unese u main1 ako je u pitanju onaj sajt i da onda u xml fajlu (cgal) dodamo ovaj dio koda sa CDATA blokom?
[ MenOfHonor @ 16.07.2011. 14:43 ] @
Onda moraš više da čitaš. ;) Prethodni odgovor se odnosio na AS3. U AS2 bi isto ono napisao ovako:
Code:
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = function(success):Void
{
    if(success)
    {
        dinamicki_txt.html = true; // moze se izostaviti ako si u Property prozoru tekst polja ukljucio opciju 'Render text as HTML'
        dinamicki_txt.htmlText = xml.firstChild.childNodes[0].nodeValue;
    }
    else
    {
        trace("Dogodila se greska.");
    }
}

xml.load("link.xml");
[ Početak. @ 16.07.2011. 15:18 ] @
A citam, al izgleda da to slabo radim:) Nije mi bas najjasnije gdje da ubacim ovaj dio koda. Evo npr ako na sredini stranice About us, onog sajta, hocu da postavim neki link jel ovo treba da ubacim u main.fla frame label 2 ili.... I da li mjesto linka na sajt mogu da uputim npr na neki pdf dokument koji bih postavio u sajt sa ostalim fajlovima i da kad kliknem na njega da se prikaze taj pdf
[ MenOfHonor @ 16.07.2011. 16:28 ] @
Ako hoćeš da se taj link prikaže kada se pritisne taster "About us" onda moraš da proveriš da li promenljiva broj (koju sam dodao na početku ove teme) ima vrednost 2, pa da tu dodaš ovaj kod. To ti neće završiti posao jer moraš da kreiraš TextField i da mu odrediš poziciju gde ti odgovara kako bi se uklopio sa postojećim sadržajem (a onda bi, pretpostavljam, hteo da dodaš i malo CSS-a kako bi se boja teksta promenila kada se postavi kursor na njega)... Što se tiče PDF-a prikazivanje istog nije jednostavno, a i lakše je staviti direktan link ka PDF fajlu nego ga učitati i prikazati u flash-u. Opet se vraćamo na ono što sam napisao na početku i sada možeš da vidiš koliko je zahtevno menjanje gotovog templejta. Predlažem ti da polako kreneš od osnova Flash-a (imaš brojne tutorijale), a ja mogu da ti preporučim sledeće:
Flash CS4 Professional Getting Started
Flash CS4 Professional Essential Training
Flash Professional CS5 Essential Training
ActionScript 3 in Flash CS4 Professional for Designers
ActionScript 3.0 in Flash Professional CS5 Essential Training

Što se tiče knjiga pogledaj sledeće:
Learning Flash CS4 Professional
Learning ActionScript 3.0, Second Edition
Essential ActionScript 3.0
[ Početak. @ 17.07.2011. 08:49 ] @
Hvala. Odoh ja sad malo da citam pa cu se javiti za nekolike godine:) Koliko dugo ti vec radis u flashu?
[ MenOfHonor @ 18.07.2011. 15:16 ] @
Prvi susret sa Flash-om (tada je bila aktuelna verzija CS4) i AS2-om sam imao pre dve godine i to je bilo veoma neprijatno iskustvo jer sam pokušavao da izmenim jedan sajt za firmu u kojoj je radio moj prijatelj. Najveći je problem bio u tome što su on i njegov šef imali neke neverovatne ideje koje je trebalo sprovesti u delo (sa kojim bi se namučio i dobar poznavalac Flash-a i AS-a), a kada sam napokon uspeo da odradim jedan deo onoga što su zamislili nije bila retkost ni da mi kažu: "Ipak smo se odlučili za neku drugu varijantu, nećemo to koristiti." Pored ovoga njegov šef je skoro svakog sata tražio da mu pošaljem ono što sam uradio, tako da je frustracija bila još veća. Na kraju kada se to konačno završilo mislio sam da više neću koristiti Flash, međutim igrom slučaja nešto mi je zatrebalo da odradim u AS3-ci i zbog toga me je Flash ponovo privukao, jer, kao što uvaženi kolega StarCraft reče "AS2 je haotičan", tako da AS3 koristim nešto više od godinu dana (ali još ne u profesionalne svrhe :)). Ono što je najbitnije je (naravno) volja ali i upornost iznad svega, jer ćeš u početku verovatno imati dosta problema i grešaka u kodu dok ne savladaš suštinu jezika (pogotovo ako nemaš iskustva ni sa jednim programskim jezikom). Ako negde zapneš znaš kome uvek možeš da se obratiš. ;) Srećno!