pomoc oko menija u flashu
Prikazujem rezultate 1 do 10 od 10

Tema: pomoc oko menija u flashu

  1. #1
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano pomoc oko menija u flashu

    ideja za meni je sledeca
    stoje reci links, forum, cell, about, downloads
    kada stavim kursor na neku rec ta rec treba da ostane ista a sve druge da se provide(_alpha=30)
    ovo je kod na jednom movie clipu,
    onClipEvent (load) {
    brojac = 100;
    }
    onClipEvent (enterFrame) {
    if (linkss == "over") {
    if (brojac>30) {
    brojac -= 14;
    }
    setProperty("_root.anim.about",_alpha,brojac);
    setProperty("_root.anim.cell",_alpha,brojac);
    setProperty("_root.anim.forum",_alpha,brojac);
    setProperty("_root.anim.downloads",_alpha,brojac);
    }
    if (linkss == "out") {
    if (brojac<100) {
    brojac += 14;
    }
    setProperty("_root.anim.about",_alpha,brojac);
    setProperty("_root.anim.cell",_alpha,brojac);
    setProperty("_root.anim.forum",_alpha,brojac);
    setProperty("_root.anim.downloads",_alpha,brojac);
    }
    }

    a u tom movie clipu se nalazi dugme koda:
    on(rollOver){
    linkss="over";
    }
    on(rollOut){
    linkss="out";
    }
    postoji za svako dugme po jedan ovakav mc (preradjen da se providi sve sem tog)
    to sve zasebno lepo radi ali kada sa jednog dugmeta prebacim na neko drugo dugme javljaju se problemi
    providno postane samo ono dugme sa kog sam prebacio a ostala nista.
    ako vam nije jasno poslacu vam swf na mail samo mi recite.



  2. #2
    Zainteresovan član
    Učlanjen
    27.09.2003.
    Pol
    muški
    Lokacija
    Sydney
    Poruke
    388
    Reputaciona moć
    55

    Podrazumevano Nije mi jasno

    Ako neznas dobro Action script Probaj da svoj meni uradis sa frejmovima i sa slojevima.
    Fajl ce ti nesto veci nego kada koristis Action script.
    Ni ja nisam nesto jako dobar u Action script-u ali bi to sto si ti zamislio drugacije uradio...

  3. #3
    Poznat Incognito (avatar)
    Učlanjen
    17.07.2003.
    Pol
    muški
    Lokacija
    Beograd
    Poruke
    8.035
    Reputaciona moć
    133

    Podrazumevano

    Hmmm to je jako naivan pristup celom problemu... Moras da naucis da analiticki razmisljas ako hoces ista da programiras a da to radi... Mozes sa crtanjem algoritama da tako nesto resis, mozes i sa obicnom analizom problema, to je na tebi...

    Evo recimo kako ja razmisljam kad naletim na 'problem' koji hoces da resis...

    1) Samo jedan (ili ni jedan) klip sa tekstom je aktivan u odredjenom vremenu
    2) Aktivnost odredjuje pozicija misa iznad bilo kog klipa
    3) Fade in/out treba da bude animiran (to naslucujem iz koda koji si postovao)

    Dakle, kako najlakse to odraditi?

    Obzirom da svi klipovi zavise jedan od drugih, treba odraditi centralizovan sistem (funkciju) koja ce proveravati stanje svih klipova.

    Drugo pitanje je kako odraditi dugmice. Najlakse, u ovom slucaju, bi bilo napraviti dugmice sa tim tekstovima, pa svaki od njih smestiti u zaseban movie clip (moze i samo sa button-om, ali da sad ne objasnjavam prednosti i mane, ovo je bolje za pocetnike)

    I onda samo malo prostog kodiranja...

    Dakle, napravis na main timeline funkciju koja ce sluziti za kontrolu klipova... Sad to mozes odraditi na milion razlicitih nacina, evo jednog od najlaksih za razumevanje:

    Kod:
    function showClip(name) {
    	var speed = 15; // koraci u kojima treba _alpha da raste/opada
    	var lowLimit = 30; // alpha 'neaktivnih' klipova
    	var highLimit = 100; // alpha 'aktivnih' klipova
    	var clipList = ['links_clip', 'forum_clip', 'cell_clip', 'about_clip', 'downloads_clip']; // lista klipova na main timeline-u, objasnicu kasnije
    	for(var i in clipList) { // loop svakog od imena klipova
    		delete _root[clipList[i]].onEnterFrame; // za svaki slucaj unistiti prethodno deklarisane rutine
    		
    		/* prenosenje varijabli na klip */
    		_root[clipList[i]].speed = speed;
    		_root[clipList[i]].lowLimit = lowLimit;
    		_root[clipList[i]].highLimit = highLimit;
    		
    		if(name == clipList[i]) { // provera da li je funkcija pozvana za prikazivanje klipa iz atributa ('name')
    			_root[clipList[i]].onEnterFrame = function() {
    				if(this._alpha < this.highLimit) { // provera da li je klip stigao do maksimalne _alpha vrednosti
    					this._alpha += Math.min(this.speed, this.highLimit-this._alpha); // odredjivanje koliko dodati _alpha vrednosti
    				} else {
    					delete this.onEnterFrame; // brisanje onEnterFrame funkcije i trigera posto je klip dostigao maksimalnu _alpha vrednost
    				}
    			}
    		} else {
    			_root[clipList[i]].onEnterFrame = function() {
    				if(this._alpha > this.lowLimit) { // provera da li je klip stigao do minimalne _alpha vrednosti
    					this._alpha -= Math.min(this.speed, this._alpha-this.lowLimit); // odredjivanje koliko oduzeti od _alpha vrednosti
    				} else {
    					delete this.onEnterFrame; // brisanje onEnterFrame funkcije i trigera posto je klip dostigao minimalnu _alpha vrednost
    				}
    			}
    		}
    	}
    }
    Ovakva funkcija ce lako odraditi sav dirty posao. Naravno, ovo moze jako jednostavnije da se odradi (preko prototipa ili pravljenja novih klasa itd.) ali ovo je bazicno i proceduralno pa je lakse za razumevanje.

    Sad jedino sto ti preostaje je da setujes da tvoji dugmici unutar klipova pozivaju ovu funkciju sa imenom njihvog parent klipa. Dakle, na dugmice unutar klipova stavi:

    Kod:
    on (rollOver) {
    	_root.showClip(this._name); // kaze funkciji da 'osvetli' klip sa imenom koje drzi button
    }
    on (rollOut, releaseOutside) {
    	_root.showClip(); // kaze funkciji da sve 'zamraci' posto nije ime navedeno
    }
    I sad jedino sto ti preostaje je da rasporedis te klipove po main timeline-u, i da ih imenujes kao sto si u listi na pocetku funkcije (ono sto sam rekao kasnije cu objasniti)...

    I to je to... As simple as that... Ovo moze biti daleko sofisticiranije, ali za tvoje potrebe i ovo je dovoljno. Uostalom, nemam vremena da objasnjavam kompleksnije nacine za resavanje...

    Nisam ovo testirao, ali bi trebalo da radi... Ako sam napravio neku sintaksnu gresku, posto sam pisao na brzaka, sam Flash ce ti javiti...

  4. #4
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano

    mnogo hvala, sad cu ja to probati, nerazumem najbolje ali pokusacu da realizujem na ovaj nacin.
    C-YA

  5. #5
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano

    probao sam ovo i nije to to
    Ja hocu da dugmici imaju property alpha 100 dok stoje.
    kada nalslonim misa, da dugme na koje sam naslonio treba takodje da bude alpha=100 a svi ostali 30. a kada ga sklonim da opet svi budu 100.
    ovo tvoje se ili baguje ili nisi shvatio ili ja nisam nesto dobro uradio sto ce pre biti.
    Imas li neku ideju

  6. #6
    Poznat Incognito (avatar)
    Učlanjen
    17.07.2003.
    Pol
    muški
    Lokacija
    Beograd
    Poruke
    8.035
    Reputaciona moć
    133

    Podrazumevano

    Ja sam mislio da svi treba da budu fejdovani, a samo onaj koji se 'rollover-uje' da dobije 100 alpha...

    Nista zato, samo malo izmenis funkciju:

    Kod:
    function showClip(name) {
    	var speed = 15; // koraci u kojima treba _alpha da raste/opada
    	var lowLimit = 30; // alpha 'neaktivnih' klipova
    	var highLimit = 100; // alpha 'aktivnih' klipova
    	var clipList = ['links_clip', 'forum_clip', 'cell_clip', 'about_clip', 'downloads_clip']; // lista klipova na main timeline-u, objasnicu kasnije
    
    	for(var i in clipList) { // loop svakog od imena klipova
    		delete _root[clipList[i]].onEnterFrame; // za svaki slucaj unistiti prethodno deklarisane rutine
    		
    		/* prenosenje varijabli na klip */
    		_root[clipList[i]].speed = speed;
    		_root[clipList[i]].lowLimit = lowLimit;
    		_root[clipList[i]].highLimit = highLimit;
    		
    		if(name == clipList[i] || arguments.length < 1) { // provera da li je funkcija pozvana za prikazivanje klipa iz atributa ('name')
    			_root[clipList[i]].onEnterFrame = function() {
    				if(this._alpha < this.highLimit) { // provera da li je klip stigao do maksimalne _alpha vrednosti
    					this._alpha += Math.min(this.speed, this.highLimit-this._alpha); // odredjivanje koliko dodati _alpha vrednosti
    				} else {
    					delete this.onEnterFrame; // brisanje onEnterFrame funkcije i trigera posto je klip dostigao maksimalnu _alpha vrednost
    				}
    			}
    		} else {
    			_root[clipList[i]].onEnterFrame = function() {
    				if(this._alpha > this.lowLimit) { // provera da li je klip stigao do minimalne _alpha vrednosti
    					this._alpha -= Math.min(this.speed, this._alpha-this.lowLimit); // odredjivanje koliko oduzeti od _alpha vrednosti
    				} else {
    					delete this.onEnterFrame; // brisanje onEnterFrame funkcije i trigera posto je klip dostigao minimalnu _alpha vrednost
    				}
    			}
    		}
    	}
    }

  7. #7
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano

    INCOGNITO CAR SI.

    Ja sam se mucio da otklonim moj bag a trebao sam da problem drugacije gledam.
    Sve u svemu puno hvala, a ovaj tvoj primer nije samo resio jedan moj problem vec vise njih. Ja sam do sada funkcije koristio samo za proste radnje i smanjenje kucanja a sad.....
    ma da ti nepricam.

  8. #8
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano

    e
    koju od ovih komandi ne podrzava flash player 5 posto hocu da exportujem kao peticu
    U sedmici sve radi kako treba.
    C-Ya

  9. #9
    Poznat Incognito (avatar)
    Učlanjen
    17.07.2003.
    Pol
    muški
    Lokacija
    Beograd
    Poruke
    8.035
    Reputaciona moć
    133

    Podrazumevano

    Ne podrzava .onEnterFrame event, sto ce reci patkica od te funkcije u svemu starijem od Flash 6-ice...

  10. #10
    Zainteresovan član miksin (avatar)
    Učlanjen
    22.07.2004.
    Poruke
    196
    Reputaciona moć
    50

    Podrazumevano

    znaci osudjen sam na 6-icu

Slične teme

  1. Kreiranje padajucih menija
    Autor mala maja u forumu Web dizajn
    Odgovora: 15
    Poslednja poruka: 10.04.2006., 12:04
  2. kreiranje pop-up menija
    Autor bveljkovic u forumu Web dizajn
    Odgovora: 4
    Poslednja poruka: 11.02.2006., 16:12
  3. Izrada menija
    Autor shining star u forumu Web dizajn
    Odgovora: 6
    Poslednja poruka: 16.12.2005., 14:12
  4. Pomoc oko datuma u flashu
    Autor miksin u forumu Web dizajn
    Odgovora: 0
    Poslednja poruka: 01.08.2004., 23:35
  5. Pomoc u flashu
    Autor Boske u forumu Multimedija
    Odgovora: 1
    Poslednja poruka: 02.02.2004., 18:36

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •