Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
kako dodati akciju dugmetu/button-u u flash cs4

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Flash
View previous topic :: View next topic  
Author Message
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 18.08.2009 20:01    Post subject: kako dodati akciju dugmetu/button-u u flash cs4 Add user to your forum ignore list Reply with quote



mene zanima kako da na pomenutoj slici dodam akciju dugmetu?
dakle actionscript za sva tri dugmeta:
dugme O Klubu treba da ide u 14 frejmu na frame label O klubu, dugme Fotografije treba u istom tom frejmu da ide na Frame Label Fotografije, i dugme Utakmice treba takodje u tom istom frejmu da ide na Frame Label Utakmice. ja kazem 14 frejm, zato sto je predavac u tom frejmu to radio, ali bitno je da tokom animacije klikom na dugme, animacija skoci tamo gde treba, na odredjeni frame label.
komanda je:
on (release) {
gotoAndPlay("oklubu");
}
"o klubu" se zameni sa odgovarajucim Frame Label za svako dugme, ali to kod mene u praksi ne funkcionise.

problem je u tome sto autor lekcije u ovom 14 frejmu radi sve to za svako dugme posebno. i nije udario nikakav keyframe u 14 frejmu. a ja kad sam zadao, kao on, komandu za dugme O Klubu, ladno mi je prebacio akciju na prvi, pocetni frejm. i kad mi prebaci akciju u prvi frejm, sta posle da radim za drugo i trece dugme... probao sam posle na drugo dugme, ali dzabe, cim otvorim action za drugo dugme, Fotografije, tamo je vec upisana komanda za prvo dugme ("oklubu"). ako prepravim, prepravio sam i za prvo dugme automatski.

dakle, meni treba da na postojecoj slici, ubacim action za svako dugme posebno, da prebacuje na navedene frame label. kao sto sam gore naveo:
dugme O Klubu treba da ide u 14 frejmu na frame label O klubu, dugme Fotografije treba u istom tom frejmu da ide na Frame Label Fotografije, i dugme Utakmice treba takodje u tom istom frejmu da ide na Frame Label Utakmice.

rezultat je dakle da dok traje animacija, klikom na odredjeno dugme, animacija "skoci" na odredjen frame label.

i da ne bih sve pisao rucno, gde se nalazi GUI za ove komande (flash cs4)? script assist to jest onaj plusic, otvara svasta ali ne mogu tamo da nadjem:
timeline control - goto (samim tim ne mogu da biram u grafickom interfejsu frame number & frame label gde animacija treba da skoci nego moram da pisem rucno)
movie clip control - on

naravno, za pocetak mi ne smeta da pisem rucno komande u actionscript, ali zelim kasnije da to ide na klik, preko grafickog interfejsa. pa me cudi da ne mogu da nadjem te komande.

a sad nadjoh i ovo: 1087: Syntax error: extra characters found after end of program.

sad sam pustio animaciju i moram 3 puta da kliknem enter da bi se zavrsila, a naravno dugmici ne rade.
predavac je ubacio tri puta stop komandu u code lejer, pa sam i ja, to mi je malo cudno, ali ajde, predavac je tako napravio pa sam i ja, samo njemu rade dugmici a meni ne, a to je poenta lekcije.

hajde ljudi, pomagajte, 18 dana sam cekao odgovor na elitesecurity forumu i nisam ga dobio, dakle, skoro 3 nedelje nisam pipnuo flash ucenje zbog ove zavrzlame.
Back to top
View user's profile Send private message Visit poster's website
Adi



Joined: 19 Dec 2005
Posts: 543
Location: Bihac

PostPosted: 19.08.2009 00:27    Post subject: Add user to your forum ignore list Reply with quote

Uh, uh i uh.
Ako je i predavač tako komplikovan kao i ovaj tekst, onda traži drugog Smile
Ne znam od kud krenuti, evo od kraja ... prvo taj error znači vjerovatno da ti negdje fali ({) zagrada, to bi značilo:
on ("release"){
gotoAndPlay("oklubu");
}
Ne smije biti 1087 Syntax erora u to slučaju, dakle:
nazivDugmeta.onPress = function() {
blabla
}

Dalje kažeš da ti je problem što ti ista komanda vraća sve na prvi frame, jasno kad si joj zadao da to učini Smile
on (release) {
gotoAndPlay("oklubu");

Jel primjetiš grešku?

Obzirom da kašljucaš na startu, prihvati se ovih tutoriala:
www.adobe.com/devnet/flash/learning.html
Back to top
View user's profile Send private message Visit poster's website Twitter profile
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 19.08.2009 13:11    Post subject: Add user to your forum ignore list Reply with quote

eeee, blago onima koji znaju toliko dobro engleski. njima ne treba učitelj. ja sam engleski učio sam, tako da mi je konverzacija super, ali stručni termini su mi katastrofa, čak i kad je voće i povrće u pitanju.
ali pogledaću ovaj link, da vidim jel pisano lako razumljivim jezikom.

pa kako ima error kad sam ja ubacio isto kao ti, evo:
komanda je:
Quote:
on (release) {
gotoAndPlay("oklubu");
}

"o klubu" se zameni sa odgovarajucim Frame Label za svako dugme, ali to kod mene u praksi ne funkcionise.

Quote:
Dalje kažeš da ti je problem što ti ista komanda vraća sve na prvi frame, jasno kad si joj zadao da to učini Smile
on (release) {
gotoAndPlay("oklubu");

Jel primjetiš grešku?


ne primećujem, sve ti je isto kao što sam ja napisao, osim što nisi ubacio ovu zagradu }
a koliko ja mislim, ta zagrada treba da postoji.
i kao što sam podvukao, "oklubu" se zameni sa odgovarajućim frame label za svako dugme, ali to kod mene nije tako.
dakle, cela suština je da meni animacija ne funckioniše kad kliknem na dugme jer nisam uspeo da dugmetu zadam komandu.
a predavač (koristim istokova video predavanja koja postoje na internetu) predaje na flash 8, od pre par godina, a ovaj cs4 je izmenjen, zato ja ne mogu da ga pratim, jer njegov način davanja komandi dugmetu kod mene ne može da se izvede na isti način. a pošto sam početnik, ne znam kako da nadjem alternativno zadavanje te komande u actionscript pa zato ispisujem ručno. i nije loše da početnik zapisuje ručno, ali kao što rekoh, nisam uspeo da odradim stvar.
Back to top
View user's profile Send private message Visit poster's website
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 19.08.2009 13:19    Post subject: Add user to your forum ignore list Reply with quote

Kad si radio new document jesi odabro action script 2 ili 3 ?
Ti trebaš action script 2
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 19.08.2009 17:23    Post subject: Add user to your forum ignore list Reply with quote

da izabrao sam trojku.
a sto sam trebao da izaberem dvojku?
Back to top
View user's profile Send private message Visit poster's website
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 19.08.2009 21:46    Post subject: Add user to your forum ignore list Reply with quote

da ovaj kod ti je action script 2.

Action script 3 ti je potupuno drugčiji i po defaultu je u strict mode-u.
Tako da nema teoretske šanse da ti ovo radi na as3.

Ako ces radit u as3 za učenje si ugasi strict mode.
Desno kod proflie gumb edit > action script settings > makni kvačicu sa strict mode

U as3 nemožeš akcije stavljati direktno na gumbe i movie clipove.
Akcije stavljaš u timeline.
on(release) itd više nepostoji

u as3 moraš dati instance name gumbu i stavit event listener u kodu ovako.
Code:

gumb.addEventListener(MouseEvent.CLICK , gumb1Klik)
function gumb1Klik(e:MouseEvent){
gotoAndPlay("oklubu")
}


A ako radiš u strict modu onda moraš odredit tip za sve movie clipove i varijable da ti kompajler na izbacuje greške kada bi stvari inače radile.

npr
Code:

var gumb1:MovieClip = gumb1
gumb.addEventListener(MouseEvent.CLICK , gumb1Klik)
var nekiTekst:String ="bla"
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 23.08.2009 18:41    Post subject: Add user to your forum ignore list Reply with quote

isprva nisam ništa od ovog shvatio, ali sam kasnije shvatio o čemu se radi. mada ne znam kako da ga namestim da funkcionise, dao si mi proizvoljne primere:
Quote:
1120: Access of undefined property gumb.

nemam pojma šta je gumb1Klik i čime da ga zamenim.

problem je samo što ne znam je li bolje da otčekiram strict u as3 ili da uradim animaciju u as2?
jer ja ne mogu da znam ovaj kod što si naveo nego moram to da učim, a kako da učim taj novi kod kad su mi lekcije u flash 8?
dakle, zaključak: kad koristim flash cs4 a lekcije su u flash 8, pretpostavljam da lekcije treba da vežbam u actionscript 2? ili možda as1? tako bih mogao da naučim osnove pa kasnije da učim kod za as3.
dakle, treba mi savet u kojoj verziji flash cs4 actionscript (1,2 ili 3?) da učim lekcije koje datiraju iz flash 8?
ja sam tek na 3-ćoj lekciji a ima ih mislim oko 10. dakle, as3 bih učio nakon tih 10 lekcija, sada mi je bitno da mogu da ispratim lekcije iz flash 8, da bih shvatio osnove, a novi kod ću da učim kasnije kad već shvatim osnove.
i ne bih sad da instaliram i flash 8, nego da nastavim u flash cs4 a da samo promenim verziju ActionScripta. nadam se da je to moguće tako.
takodje, ne želim da trošim vreme na lynda.com lekcije kad to nisu lekcije nego uputstva od 6-7 minuta sa već pripremljenim animacijama na kojima se nešto pokazuje kako se radi. meni trebaju lekcije od 40 minuta gde se provežbava sve od početka do kraja. tako da su ove lekcije OK što se toga tiče, jedino je mana što su lekcije za stari flash 8 pa me to zeza kad je AS u pitanju.
Back to top
View user's profile Send private message Visit poster's website
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 23.08.2009 19:57    Post subject: Add user to your forum ignore list Reply with quote

ne može. neće da prihvati AS kad kliknem na dugme pa da mu zadam akciju, čak ni kad promenim da as bude 1&2.
Quote:
current selection cannot have action applied to it.
Back to top
View user's profile Send private message Visit poster's website
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 23.08.2009 20:47    Post subject: Add user to your forum ignore list Reply with quote

Ta greška ti znaci da nisi zado ime "gumb" ničemu.

Kad selektiraš gumb onda gledaj gore desno di ti piše instance name
tamo moraš prvo napisat neko ime.

Zadaj svakom gumbu instance name: gumb1 , gumb2 , gumb3
I kopiraj ovaj kod
Code:

// Ako nisi ugasio strict mode moraš i ovo napisat
var gumb1:MovieClip = MovieClip(gumb1)
var gumb2:MovieClip = MovieClip(gumb2)
var gumb3:MovieClip = MovieClip(gumb3)

// kada se klikne na nešto šta ima instance name "gumb1" pokreni funkciju gumb1Klik
gumb1.addEventListener(MouseEvent.CLICK , gumb1Klik)

// kada se klikne na nešto šta ima instance name "gumb2" pokreni funkciju gumb2Klik
gumb2.addEventListener(MouseEvent.CLICK , gumb2Klik)

// kada se klikne na nešto šta ima instance name "gumb3" pokreni funkciju gumb1Klik
gumb3.addEventListener(MouseEvent.CLICK , gumb3Klik)

// Funkcija koja se poziva kad se klikne na gumb1
function gumb1Klik(e:MouseEvent){
   gotoAndPlay("oklubu")
}

// Funkcija koja se poziva kad se klikne na gumb2
function gumb2Klik(e:MouseEvent){
   gotoAndPlay("Fotografije")
}

// Funkcija koja se poziva kad se klikne na gumb3
function gumb3Klik(e:MouseEvent){
   gotoAndPlay("utakmice")
}
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 24.08.2009 14:24    Post subject: Add user to your forum ignore list Reply with quote

hvala za odgovore.

ostavio sam strict ukljucen,
iskopirao sam ovaj kod kako si napisao, i gore u instance name sam napisao za prvo dugme gumb1, za drugo gumb2 i za trece gumb3. iako mi se dugmići u biblioteci zovu: o klubu, fotografije i utakmice.

rezultat u as3:
Quote:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::SimpleButton@10cf2941 to flash.display.MovieClip.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at prezentacija1_fla::MainTimeline():

probah i u as2:
Quote:
The class or interface 'MouseEvent' could not be loaded.


probao sam i da prepravim da bude malo početno slovo na Fotografije:
Quote:
gotoAndPlay("fotografije")

ali greška nema veze sa tim.
Back to top
View user's profile Send private message Visit poster's website
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 24.08.2009 16:14    Post subject: Add user to your forum ignore list Reply with quote

Ja sam ti krivo napiso sory treba bit SimpleButton umjesto movieclip.
Code:

var gumb1:SimpleButton = SimpleButton(gumb1)
var gumb2:SimpleButton = SimpleButton(gumb2)
var gumb3:SimpleButton = SimpleButton(gumb3)

Ali ako ugasiš strict mode nemoraš se zajebavat sa ovakvim glupostima.
Rađe ga ugasi dok ne savladaš actionscript 3 malo bolje.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
predic



Joined: 19 Jul 2009
Posts: 36
Location: evropa

PostPosted: 24.08.2009 19:59    Post subject: Add user to your forum ignore list Reply with quote

e HVALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!
Konačno je odrađeno baš onako kako ga je odradio predavač u lekciji Very Happy
samo mi zadaje muke pomisao, kako ću ja to da znam ubuduće kad predavač opet uradi neku foru? dakle, ovaj kod uopšte nije kao njegov u flash 8. šta da radim onda, da koristim flashcs4 sa actionscript2? to sam probao juče ali nešto mi nije pošlo za rukom, možda jer je bio uključen strict mode, ubaci mi samo on pa ja moram da upišem ručno release a onda probam da ubacim gotoAndPlay, ali on tu nešto pomeša.
probaću da upisujem predavačeve komande ručno, pa će možda da funkcioniše.
Back to top
View user's profile Send private message Visit poster's website
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 24.08.2009 20:15    Post subject: Add user to your forum ignore list Reply with quote

Ovo ti je dobar site sa flash tutorijalima:http://www.kirupa.com/developer/flash/index.htm
Kad zapneš potraži tu.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
gorrc



Joined: 12 Jul 2007
Posts: 87

PostPosted: 25.08.2009 16:45    Post subject: Add user to your forum ignore list Reply with quote

[quote="hrvoje_86"]Ja sam ti krivo napiso sory treba bit SimpleButton umjesto movieclip.
Code:

var gumb1:SimpleButton = SimpleButton(gumb1)
 

Zar nebi trebalo ovako
Code:

var gumb1:SimpleButton = new SimpleButton()


Nisam već dugo radio u Flashu pa neznam baš kako to funkcionira sa objektima koji su definirani na sceni. A zašto uopće bi trebalo raditi instancu buttona kad postoji na sceni. Zar se automatski ne napravi klasa?

_________________
www.topnogomet.com -- http://www.gorrc.blogspot.com/ - http://code.google.com/p/bet-script/
Back to top
View user's profile Send private message
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 25.08.2009 17:06    Post subject: Add user to your forum ignore list Reply with quote

Quote:
Nisam već dugo radio u Flashu pa neznam baš kako to funkcionira sa objektima koji su definirani na sceni. A zašto uopće bi trebalo raditi instancu buttona kad postoji na sceni. Zar se automatski ne napravi klasa?

.
Netreba raditi instancu nečega što je na sceni.
Sa new se radi instanca, a kada napišeš SimpleButton(gumb1) samo govoriš flashu da je gumb1 instanca SimpleButtona (typecasting).

To je potrebno samo ako je strict mode upaljen.
U strict modu flash više ne provjerva šta je kojeg tipa i moraš mu onda ovako definirat.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
gorrc



Joined: 12 Jul 2007
Posts: 87

PostPosted: 25.08.2009 18:57    Post subject: Add user to your forum ignore list Reply with quote

Code:

public function SimpleButton(upState:DisplayObject = null, overState:DisplayObject = null, downState:DisplayObject = null, hitTestState:DisplayObject = null)
 


Prema dokumentaciji ako učiniš ovo SimpleButton(gumb1) onda si definirao upState od novo instanciranog gumba.
Mjenjajući neki properti od gumba na sceni nebi mjenjao propertije od instance gumb1 već bi mjenjao propertije od gumba koji je u upState.

Znači ovo bi trebao izbaciti grešku
Code:

var gumb1:SimpleButton = SimpleButton(gumb1)

Jer bi imao dvije varijable s imenom gumb1 što bi trebalo izbaciti grešku jer si napravio novu instancu od SimpleButton s istim imenom instance koju si definirao na sceni.

Recimo ako učiniš ovo :
Code:

var gumb1:SimpleButton = new SimpleButton(MovieClipInstancaNaSceni)

ti bi opet manipulirao sa gumbom ali njegov up state bi bio movie clip koji se nalazi na sceni. A ukoliko izmjeniš nešto na sceni u tom MovieClipu to bi se također odnosilo na upstate od instanciranog gumba.

_________________
www.topnogomet.com -- http://www.gorrc.blogspot.com/ - http://code.google.com/p/bet-script/
Back to top
View user's profile Send private message
hrvoje_86



Joined: 06 Dec 2006
Posts: 107
Location: Zagreb

PostPosted: 25.08.2009 20:01    Post subject: Add user to your forum ignore list Reply with quote

Quote:

Prema dokumentaciji ako učiniš ovo SimpleButton(gumb1) onda si definirao upState od novo instanciranog gumba.

Ta funkcija je konstruktor a pozivaš konstruktor samo ako napišeš new SimpleButton(bla , bla ,bla ,bla)

Kad napišeš samo SimpleButton(nešto) onda samo pokušavaš prevorit već instancirano nešto u SimpleButton.
I onda se konstruktor ne pokreće.

Quote:

Znači ovo bi trebao izbaciti grešku
Code:

var gumb1:SimpleButton = SimpleButton(gumb1)

Jer bi imao dvije varijable s imenom gumb1 što bi trebalo izbaciti grešku jer si napravio novu instancu od SimpleButton s istim imenom instance koju si definirao na sceni.

Ne izbacuje grešku.
Isto ko što ne izbacuje grešku kad staviš var u for petlju.
Izbacit će grešku samo ako ti napišeš 2 put var za istu varijablu.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
gorrc



Joined: 12 Jul 2007
Posts: 87

PostPosted: 25.08.2009 21:01    Post subject: Add user to your forum ignore list Reply with quote

[quote="hrvoje_86" ]
Ta funkcija je konstruktor a pozivaš konstruktor samo ako napišeš new SimpleButton(bla , bla ,bla ,bla)

Kad napišeš samo SimpleButton(nešto) onda samo pokušavaš prevorit već instancirano nešto u SimpleButton.
I onda se konstruktor ne pokreće.
[/quote]

Da, tako je.
Mislim da postoji i opcija "as". Onda bi napisao gumb1 as SimpleButton.

_________________
www.topnogomet.com -- http://www.gorrc.blogspot.com/ - http://code.google.com/p/bet-script/
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Flash All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group