[ ilDuceo @ 28.03.2009. 16:54 ] @
Naime, hocu da napravim igricu kviz tipa sa ponudjenim odgovorima. Odgovori ce se dobijati preko XMLa koji ce odraditi da pitanja budu random i sve to. Igrica treba da bude online, tj. da svako ko otvori stranicu generise ID koji se provlaci kroz celu igricu da bi sacuvao rezultat kasnije. Mene interesuje kako da pocnem sa pisanjem koda. Znam osnove flasha, ali ovo prevazilazi moje znanje. Da li kod treba da bude u odvojenom fajlu? Jos jedno pitanje, kako ide struktura koda? Imam iskustva sa programskim jezicima, tako da mi trebaju samo ukratko saveti. Kako da definisem funkciju, pa da je koristim kasnije?
[ StarCraft @ 30.03.2009. 10:28 ] @
1. treba ti domen na netu na koji ćeš da okačiš svoj kviz
2. treba da naučiš ActionScript (najbolje da odma kreneš od trojke) a to je posebna dimenzija za sebe. Poznavanje osnove fleša, (ako ne poznaješ AS) neće ti ama baš ništa pomoći.
3. Treba ti PHP za komunikaciju sa serverom (za sejvovanje podataka na serveru)
4. pitanja možeš da pišeš u posebnom XML fajlu
[ ilDuceo @ 30.03.2009. 11:34 ] @
1. To sam obezbedio
2. Znam neke osnove. Ali mislim da nisi razumeo moje pitanje.
3. Uradjeno
4. Uradjeno

Znaci, interesuje me da li kod kviza pisem za svaki frejm u tom istom frejmu ili ga pisem u posebnom fajlu, pa ga pozivam (to sam video u nekim prezentacijama)?
Drugo pitanje je, kako se definise funkcija (da li uopste to moze) i kako se kasnije poziva?

Znaci primer u asembleru:

.section .data
...
.section .text
...
.globl main

main:
....

kako bi to izgledalo u AC3?
[ gonzos @ 30.03.2009. 14:19 ] @
Citat:
ilDuceo: Mene interesuje kako da pocnem sa pisanjem koda. Znam osnove flasha, ali ovo prevazilazi moje znanje. Da li kod treba da bude u odvojenom fajlu? Jos jedno pitanje, kako ide struktura koda? Imam iskustva sa programskim jezicima, tako da mi trebaju samo ukratko saveti. Kako da definisem funkciju, pa da je koristim kasnije?


Ovo sto zelis je jednostavno napraviti-naravno uz malo truda.
Prvo uradi dizajn igre: vrsta pitanja(od laksih ka tezim, razlicite oblasti),koliko pitanja do pobjede itd.
Dizajniraj XML-fajl (ili fajlove). Parsiraj podatke u flash ( na netu imas free xmlLoader klasa). Upotrijebi podatke u igri.

Kod ne mora biti u posebnom fajlu, ali preporucujem jer ces lakse ispravljati nedostatke.

Funkcija?
Code:

function mojaFunkcija(parametar,parametar):void{

var mojaVarijabla=parametar+parametar;


}


ili funkcija vraca vrijednost!

Code:


function mojaFunkcija(parametar:Number,parametar:Number):Number{

var mojaVarijabla=parametar+parametar;

return mojaVarijabla;


}

[ StarCraft @ 30.03.2009. 15:50 ] @
A pitanja ne moraju da ti budu svaka-u-svakom-frejmu. Ti samo napraviš templejt gde će da ti se pokazuje text pitanja, i dugmići za odgovor (ili kako si već zamislio ceo kviz) a kasnije samo dinamički učitavaš podatke koje dobijaš iz XML-a i menjaš vrednosti dynamic text field-ova.
[ ilDuceo @ 30.03.2009. 18:51 ] @
Tako sam i mislio. XML bi odradio sve od laksih ka tezim pitanjima.

Jos jedno pitanje... imam nekoliko knjiga o AS3, ali mi neke stvari nisu jasne. Sta znaci "package" i sta znaci "child", tj. za sta sluzi?

[Ovu poruku je menjao ilDuceo dana 30.03.2009. u 23:12 GMT+1]
[ gonzos @ 30.03.2009. 21:36 ] @
A sta znaci AC3? :-)

package je struktura foldera gdje se nalazi klasa. Npr kreirao si klasu u folderima myDocuments-->kviz-->game.

Klasu definises sa:

Code:
 package kviz.game{

class ClassName{

    }
}


Svoj .fla fajl mozes snimiti u folder kviz i onda importujes klasu:

Code:

import kviz.game.ClassName;


A child moze biti neki displayObject - movieclip, textfield, sprite itd.
Struktura display liset je u odnosu parent.child.

Prema ovome gornjem folder game bi bio child foldera kviz, a kviz child foldera myDocuments!
[ ilDuceo @ 30.03.2009. 22:11 ] @
Ah, uporno pise AC3 umesto AS3...:)) Dobro si primetio.

To bi trebalo da izgleda nekako ovako:

Definisem f-je.

Pravim package, pa unutar toga klase. U klasama mogu da pozivam f-je koje sam definisao.
Napisem ceo kod, i kasnije u frejmu samo pozivam klasu koja mi treba. Da li sam dobro razumeo?


I jos jedna stvar, kako definisem konstante?
[ StarCraft @ 30.03.2009. 23:40 ] @
Auf čoveče ti baš osnovna pitanja postavljaš. Čak i da ti odgovorimo na sva pitanja, to ti i dalje neće biti dovoljno nizašta. Evo ja ću da ti odgovorim, ali to će ti samo stvoriti nova dodatna pitanja. Najbolje da skineš od tetka Lynde "AS3 fundamentals". Tamo ti je sve lepo objašnjeno, a traje sigurno kraće nego što se mi ovde dopisujemo, i trošimo vreme i ti i ja i drugi...

Ti možeš da definišeš klasu isto kao što definišeš funkciju, stim što je fora da unutar klase možeš da definišeš druge funkcije, ali unutar funkcije ne možeš da DEFINIŠEŠ druge funkcije (možeš samo da ih pozivaš)
Klasu kasnije možeš da doeliš nekom grafičkom objektu na ekranu (nekom muvi klipu recimo) tako što mu u library-u preko "linkage" kažeš koja je klasa. Posle toga, svaka instanca tog muviKlipa će se ponašati kako je definisano u toj klasi.

Naravno, klase ne moraju da budu dodeljene nekom konkretnom objektu na ekranu...

A ako hoćeš da više različitih objekata iz library-a budu iste klase, onda im linkage-uješ neku klasu (koju nisi nigde definisao u fajlovima) ali zato kažeš da nasleđuje neku postojeću klasu - i ta nova klasa će naslediti sve osobine te postojeće.

(pre nego što postaviš to pitanje: Documment class ti je ništa drugo nego klasa tvog samog SWF-a, i ta klasa se prva "stvara" u tvom SWF-u i odmah izvršava onu funkciju-koja-se-isto-zove-kao-i-ta-klasa)

Iz klase možeš da "izvlačiš" funkcije, tj. da ih pozivaš (to se zovu "metode" neke klase) To radiš preko: instancaNekeKlase.funkcijaIlitiMetoda(parametri)

AS3 je predviđen da ne moraš ništa da pišeš po frejmovima (osim eventualno funkcije stop() ako hoćeš) jer je to stvaralo neviđenu zbrku i ne-čitljivost kôda u AS2.

[ ilDuceo @ 30.03.2009. 23:48 ] @
Hvala, takav odgovor mi je trebao. Mnoge stvari su mi jasnije. Znam da su osnovne stvari. Do sada sam radio nesto sitno sa kodom po frejmovima i to se uglavnom svodilo na pomeranje objekata i sl. Ovo mi predstavlja malo tezi poduhvat. Dobro je, pa se nadju dobri i strpljivi ljudi i sve fino objasne!:)