Photography Portfolio

Evo jedan flash uradak koji sam radio prijatelju fotografu (boje, tamnoća i sve je strogo zadano, fotke i sve ostalo je autorski rad dotičnog frenda a grafika i animacije je moje maslo (ima preko 200 tweenova u čitavom projektu i trebalo je 2 i pol mjeseca kodiranja AS3 da ovo složim, ne ponovilo se ):
:uaa:

Detalji:
Glavni menu dropdown/up
Desno-gore menu za backgrounde
Tab PHOTOGRAPHY sa dinamičkim loadom slika i teksta izvana (kakti kvazi CMS, prek XML-a):lula:
Kontakt forma, probajte poslat mail iz Fullscreena…(PHP)
Rade back i forward buttoni (SWFAddress JavaScript)

PS
Chrome ne dopusta desni klik => fullscreen, ne znam sta su u medjuvremenu mjenjali ali mi lagano vec idu na kujac s flashom i sigurnosnim izmjenama…:srednji:

preporuka Firefox :stuck_out_tongue:

OPs, link: LINK

ufffffffffff Super je :smiley: :smiley: :smiley:

E, dobar si ti. Svaka čast!!!

Sajt je odličan, ali male zamjerke idu na galeriju, ipak je ovo portfolio jednog fotografa. Kad kliknem na jednu sliku mislim da bi trebala postojati neka opcija naprijed nazad, ili vizualna ili tipkovnica, a ne da se trebam vratiti nazad pa ponovno kliknuti za nešto pogledati.

To bi trebala biti osnovna funkcionalnost ovog weba, i ja bi slike da budu full screen kad se otvore.
Inače, sve 5!

Hvala na komplimentu :stuck_out_tongue:

Hvala na pohvalama i tebi, i tvoj jQuery je odličan…

Eh da samo znaš kolko smo se vjećali oko toga (ja i Ante), na kraju je prevladalo to da slike idu u 5 galerija jer se radi o 1MB velikim hiQ jpeg-ima. Kada bi klikao next/prev po njima nakom 4-5 bi ti bila puna kapa :stuck_out_tongue: vjeruj, isprobano, load je jednostavno ogroman i na 5mbit DSLu je banana, a uvjet su slike HQ cca 1MB komad visine 1200px (fotografi :stuck_out_tongue: ).

Kao kompenzacija ovome su thumbovi slika relativno veliki i very high kvalitete, tako da odmah u biti vidiš sliku bez da zoomiraš a onda svaku zasebno u 1MB verziji učitavaš ako želiš…ja sam stavio i thumbove u neki dinamički MC ali su se žalili da je prefensi i usporavana je brzina skrolanja 4 puta valjda jer je ljudima bilo pre brzo…šta reć, moram napravit kako se od mene zahtjeva :slight_smile:

[quote=“suludi”]To bi trebala biti osnovna funkcionalnost ovog weba, i ja bi slike da budu full screen kad se otvore.
Inače, sve 5![/quote]
Slike, točnije galerija je stvarno dorađena do detalja, ne znam dali si primjetio ali kada se učitavaju velike slike gađa se max trenutna dimenzija browsera ili naravno fullscreen ako se gleda u fullscreen modu, slike zadržavaju aspect ratio u svim situacijama.

Probaj pogasit sve prozore, i rasteži browser i gledaj background, ista stvar, tu sam se kvalitetno namasirao sa AS-om. Nažalost Adobe svakom novijom verzijom “reže” flash jer ga portali koriste kao najače spamersko oružje, transparent reklame preko čitavog ekrana i ostala sranja…sad evo u Chromeu desni klik menu FullScreen ne radi, a muzika radi…šta reć :confused:

Naravno tweenovi nisu (de)generički ugrađeni Flash/AS3 nego su korišteni aftermarket greensock TweenLite koje mogu preporučit svima.

U biti kolko je posla bilo s tim webom sad kad gledam ne znam čemu to uopće, ajde neko znanje pobereš i tak ali posla boli glava. Onda gledam gotove flash template po webu za parsto dolara, je da su puni bagova i da u pravilu ne vrjede previše, ali kupiš, eventualno modificiraš ako treba i preprodaš za x3, to je danas bit, zgrnut pare :cugi:

Pazi samo kod funkcija koji kontrolira glavne slajdove, bez većine EventListenera i ostalih điđa:

package com {
	import flash.events.*;
	import flash.display.*;
	import flash.media.*;
	import com.greensock.*;
	import com.greensock.easing.*;
	import com.greensock.plugins.*;

	TweenPlugin.activate([ScalePlugin, AutoAlphaPlugin]);
	
	public class Frame3 extends MovieClip {
		
		public var currentSlide:String = "prazno";
		public var containerSlide_mc:ContainerSlide;
		
		function Frame3()
		{
			SWFAddress.setValue("Home")
			SWFAddress.addEventListener(SWFAddressEvent.CHANGE, addressChange);
		}
		
		function addressChange(e:SWFAddressEvent):void
		{
			switch (e.value)
			{
				case "/About" :
					provjeriAbout();
					break;
					
				case "/Photography" :
					provjeriPhotography();
					break;
					
				case "/Works" :
					provjeriWorks();
					break;
					
				case "/News" :
					provjeriReferences();
					break;
					
				case "/Contact" :
					provjeriContact();
					break;
					
				case "/SlideShow1" :
					goNature()
					break;	
					
				case "/SlideShow2" :
					goPeople()
					break;
					
				case "/SlideShow3" :
					goInfrared()
					break;
					
				case "/SlideShow4" :
					goEvents()
					break;
					
				case "/SlideShow5" :
					goVarious()
					break;
					
				case "/" :
					zatvoriTrenutniSlide();
					break;
			}
		}
		
		//Slide Mechanics
		//---------------------------------------------------------------------------------------------------------------------------------------------------------
		public function provjeriAbout():void
		{
			naviMenu_mc.visible = true;
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } );
			if (currentSlide == "about")
			{
			}
			else if (currentSlide == "photography" || currentSlide == "works" || currentSlide == "references" || currentSlide == "contact" )
			{
				currentSlide = "about";
				Object(this.naviMenu_mc).menuTriggerFunction();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:deleteChildAbout } );
			}
			else if (currentSlide == "prazno" )
			{
				Object(this.naviMenu_mc).menuTriggerFunction();
				dodajAbout();
			}
			else
			{
				
			}
		}
		
		public function dodajAbout():void
		{
			SWFAddress.setValue("About");
			currentSlide = "about";
			container_mc.addChild(about_mc);
			about_mc.visible = false;
			about_mc.scaleX = 0;
			about_mc.scaleY = 0;
			TweenLite.to(about_mc, 0.8, { x:0, y:0, autoAlpha:1, scale:1, onComplete:goStartAbout } );
		}
		
		private function goStartAbout():void 
		{
			Object(this.container_mc.getChildAt(0)).scroll_mc.startAbout();
		}
		
		public function provjeriPhotography():void
		{
			naviMenu_mc.visible = true;
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } ); //Extra bug
			if (currentSlide == "photography")
			{
			}
			else if (currentSlide == "about" || currentSlide == "works" || currentSlide == "references" || currentSlide == "contact" )
			{
				currentSlide = "photography";
				Object(this.naviMenu_mc).menuTriggerFunction();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:deleteChildPhotography } );
			}
			else if (currentSlide == "prazno" )
			{
				Object(this.naviMenu_mc).menuTriggerFunction();
				dodajPhotography();
			}
			else if (currentSlide == "prazno_slide" )
			{
				killSlide();
			}
			else
			{
				
			}
		}
		
		public function dodajPhotography():void
		{
			SWFAddress.setValue("Photography");
			currentSlide = "photography";
			container_mc.addChild(photography_mc);
			Object(container_mc.getChildAt(0)).restartPhotography();
			photography_mc.visible = false;
			photography_mc.scaleX = 0;
			photography_mc.scaleY = 0;
			TweenLite.to(photography_mc, 0.8, { x:0, y:0, autoAlpha:1, scale:1, onComplete:goPlayPhotography } );
		}
		
		public function goPlayPhotography():void 
		{
			Object(this.container_mc.getChildAt(0)).startPhotography();
		}
		
		public function provjeriWorks():void
		{
			naviMenu_mc.visible = true;
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } );
			if (currentSlide == "works")
			{
			}
			else if (currentSlide == "photography" || currentSlide == "about" || currentSlide == "references" || currentSlide == "contact" )
			{
				currentSlide = "works";
				Object(this.naviMenu_mc).menuTriggerFunction();
				TweenLite.to(container_mc.getChildAt(0), 0.5, {autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:deleteChildWorks});		
			}
			else if (currentSlide == "prazno" )
			{
				Object(this.naviMenu_mc).menuTriggerFunction();
				dodajWorks();
			}
			else
			{
				
			}
		}
		
		public function dodajWorks():void
		{
			SWFAddress.setValue("Works");
			currentSlide = "works";
			container_mc.addChild(works_mc);
			works_mc.visible = false;
			works_mc.scaleX = 0;
			works_mc.scaleY = 0;
			TweenLite.to(works_mc, 0.8, { x:0, y:0, autoAlpha:1, scale:1, onComplete:goPlayWorks } );
		}
		
		public function goPlayWorks():void 
		{
			Object(this.container_mc.getChildAt(0)).playWorks();
		}
		
		public function provjeriReferences():void
		{
			naviMenu_mc.visible = true;
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } );
			if (currentSlide == "references")
			{
			}
			else if (currentSlide == "photography" || currentSlide == "about" || currentSlide == "works" || currentSlide == "contact" )
			{
				currentSlide = "references";
				Object(this.naviMenu_mc).menuTriggerFunction();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:deleteChildReferences } );
			}
			else if (currentSlide == "prazno" )
			{
				Object(this.naviMenu_mc).menuTriggerFunction();
				dodajReferences();
			}
			else
			{
				
			}
		}
		
		public function dodajReferences():void
		{
			SWFAddress.setValue("News");
			currentSlide = "references";
			container_mc.addChild(references_mc);
			references_mc.visible = false;
			references_mc.scaleX = 0;
			references_mc.scaleY = 0;
			TweenLite.to(references_mc, 0.8, { x:0, y:0, autoAlpha:1, scale:1 } );
		}
		
		public function provjeriContact():void
		{
			naviMenu_mc.visible = true;
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } );
			if (currentSlide == "contact")
			{
			}
			else if (currentSlide == "photography" || currentSlide == "about" || currentSlide == "references" || currentSlide == "works" )
			{
				currentSlide = "contact";
				Object(this.naviMenu_mc).menuTriggerFunction();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:deleteChildContact } );
			}
			else if (currentSlide == "prazno" )
			{
				Object(this.naviMenu_mc).menuTriggerFunction();
				dodajContact();
			}
			else
			{
				
				
			}
		}
		
		public function dodajContact():void
		{
			SWFAddress.setValue("Contact");
			currentSlide = "contact";
			container_mc.addChild(contact_mc);
			contact_mc.visible = false;
			contact_mc.scaleX = 0;
			contact_mc.scaleY = 0;
			TweenLite.to(contact_mc, 0.8, { x:0, y:0, autoAlpha:1, scaleX:1, scaleY:1 } );
		}	
		
		//PAZI!!! na svaki MC ima svoje funkcije zatvaranja!!!
		public function deleteChildAbout():void 
		{
			//Dodane funkcije za resetiranje prijasnjih Slideova:
			if (this.container_mc.getChildByName("about_mc"))
			{
				Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			
			if (this.container_mc.getChildByName("photography_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			
			if (this.container_mc.getChildByName("works_mc"))
			{
				Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			if (this.container_mc.getChildByName("contact_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Kraj Dodanih funkcija i nastavak rutine:
			container_mc.removeChildAt(0);
			dodajAbout();		
		}
		
		public function deleteChildPhotography():void 
		{
			//Dodane funkcije za resetiranje prijasnjih Slideova:
			if (this.container_mc.getChildByName("about_mc"))
			{
				Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			
			if (this.container_mc.getChildByName("photography_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			
			if (this.container_mc.getChildByName("works_mc"))
			{
				Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			if (this.container_mc.getChildByName("contact_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Kraj Dodanih funkcija i nastavak rutine:
			container_mc.removeChildAt(0);
			dodajPhotography();		
		}
		
		public function deleteChildWorks():void 
		{
			//Dodane funkcije za resetiranje prijasnjih Slideova:
			if (this.container_mc.getChildByName("about_mc"))
			{
				Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			
			if (this.container_mc.getChildByName("photography_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			
			if (this.container_mc.getChildByName("works_mc"))
			{
				Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			if (this.container_mc.getChildByName("contact_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Kraj Dodanih funkcija i nastavak rutine:
			container_mc.removeChildAt(0);
			dodajWorks();		
		}
		
		public function deleteChildReferences():void 
		{
			//Dodane funkcije za resetiranje prijasnjih Slideova:
			if (this.container_mc.getChildByName("about_mc"))
			{
				Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			
			if (this.container_mc.getChildByName("photography_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			
			if (this.container_mc.getChildByName("works_mc"))
			{
				Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			if (this.container_mc.getChildByName("contact_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Kraj Dodanih funkcija i nastavak rutine:
			container_mc.removeChildAt(0);
			dodajReferences();		
		}
		
		public function deleteChildContact():void 
		{
			//Dodane funkcije za resetiranje prijasnjih Slideova:
			if (this.container_mc.getChildByName("about_mc"))
			{
				Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			
			if (this.container_mc.getChildByName("photography_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			
			if (this.container_mc.getChildByName("works_mc"))
			{
				Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			if (this.container_mc.getChildByName("contact_mc"))
			{
				Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Kraj Dodanih funkcija i nastavak rutine:
			container_mc.removeChildAt(0);
			dodajContact();		
		}
		
		//=====================================================================================
		
		public function goNature():void 
		{
			if (currentSlide == "prazno_slide")
			{
			}
			else
			{
				Object(container_mc.getChildAt(0)).restartPhotography();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn,  onComplete:goNature2 } );
			}
		}
		
		private function goNature2():void 
		{
			currentSlide = "prazno_slide";
			SWFAddress.setValue("SlideShow1");
			while(container_mc.numChildren) 
			{ 
				container_mc.removeChildAt(0);
			}
			containerSlide_mc.addChild(slideShow1_mc);
			slideShow1_mc.startLoad();
			naviMenu_mc.visible = false;
		}
		
		public function goPeople():void 
		{
			if (currentSlide == "prazno_slide")
			{
			}
			else
			{
				Object(container_mc.getChildAt(0)).restartPhotography();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn,  onComplete:goPeople2 } );
			}
		}
		
		private function goPeople2():void 
		{
			currentSlide = "prazno_slide";
			SWFAddress.setValue("SlideShow2");
			while(container_mc.numChildren) 
			{ 
				container_mc.removeChildAt(0);
			}
			containerSlide_mc.addChild(slideShow2_mc);
			slideShow2_mc.startLoad();
			naviMenu_mc.visible = false;
		}
		
		public function goInfrared():void 
		{
			if (currentSlide == "prazno_slide")
			{
			}
			else
			{
				Object(container_mc.getChildAt(0)).restartPhotography();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn,  onComplete:goInfrared2 } );
			}
		}
		
		private function goInfrared2():void 
		{
			currentSlide = "prazno_slide";
			SWFAddress.setValue("SlideShow3");
			while(container_mc.numChildren) 
			{ 
				container_mc.removeChildAt(0);
			}
			containerSlide_mc.addChild(slideShow3_mc);
			slideShow3_mc.startLoad();
			naviMenu_mc.visible = false;
		}
		
		public function goEvents():void 
		{
			if (currentSlide == "prazno_slide")
			{
			}
			else
			{
				Object(container_mc.getChildAt(0)).restartPhotography();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn,  onComplete:goEvents2 } );
			}
		}
		
		private function goEvents2():void 
		{
			currentSlide = "prazno_slide";
			SWFAddress.setValue("SlideShow4");
			while(container_mc.numChildren) 
			{ 
				container_mc.removeChildAt(0);
			}
			containerSlide_mc.addChild(slideShow4_mc);
			slideShow4_mc.startLoad();
			naviMenu_mc.visible = false;
		}
		
		public function goVarious():void 
		{
			if (currentSlide == "prazno_slide")
			{
			}
			else
			{
				Object(container_mc.getChildAt(0)).restartPhotography();
				TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn,  onComplete:goVarious2 } );
			}
		}
		
		private function goVarious2():void 
		{
			currentSlide = "prazno_slide";
			SWFAddress.setValue("SlideShow5");
			while(container_mc.numChildren) 
			{ 
				container_mc.removeChildAt(0);
			}
			containerSlide_mc.addChild(slideShow5_mc);
			slideShow5_mc.startLoad();
			naviMenu_mc.visible = false;
		}
		//Photography Sections Mechanics END ---------------------------------------------------------------------------------
		
		//CLOSE BUTTON Mechanics: --------------------------------------------------------------------------------------------
		public function zatvoriTrenutniSlide():void
		{
			currentSlide = "prazno";
			TweenLite.to(container_mc.getChildAt(0), 0.5, { autoAlpha:0, scale:0, ease:Quad.easeIn, onComplete:zatvoriTrenutniSlide2 } );
		}
		
		public function zatvoriTrenutniSlide2():void
		{
			//About_mc mechanics zatvaranje: -------------------
			if (this.container_mc.getChildByName("about_mc"))
			{
			Object(this.container_mc.getChildAt(0)).scroll_mc.restartAbout();
			}
			//About_mc mechanics END ---------------------------
			//Photography_mc mechanics zatvaranje: -------------
			if (this.container_mc.getChildByName("photography_mc"))
			{
			Object(this.container_mc.getChildAt(0)).restartPhotography();
			}
			//Photography_mc mechanics END ---------------------
			//Works_mc mechanics zatvaranje: -------------------
			if (this.container_mc.getChildByName("works_mc"))
			{
			Object(this.container_mc.getChildAt(0)).stopWorks();
			}
			//Works_mc mechanics END ---------------------------
			//Contact_mc mechanics zatvaranje: -------------------
			if (this.container_mc.getChildByName("contact_mc"))
			{
			Object(this.container_mc.getChildAt(0)).restartContact();
			}
			//Contact_mc mechanics END ---------------------------
			container_mc.removeChildAt(0);
		}
		
		public function killSlide():void 
		{
			while(slideShow1_mc.thumbHolder_mc.numChildren) 
			{ 
				slideShow1_mc.thumbHolder_mc.removeChildAt(0); 
			} 
			//removeTemp_mc.addChild(slideShow1_mc);
			slideShow1_mc.visible = false;
			
			while(slideShow2_mc.thumbHolder_mc.numChildren) 
			{ 
				slideShow2_mc.thumbHolder_mc.removeChildAt(0); 
			} 
			//removeTemp_mc.addChild(slideShow2_mc);
			slideShow2_mc.visible = false;
			
			while(slideShow3_mc.thumbHolder_mc.numChildren) 
			{ 
				slideShow3_mc.thumbHolder_mc.removeChildAt(0); 
			} 
			//removeTemp_mc.addChild(slideShow3_mc);
			slideShow3_mc.visible = false;
			
			while(slideShow4_mc.thumbHolder_mc.numChildren) 
			{ 
				slideShow4_mc.thumbHolder_mc.removeChildAt(0); 
			} 
			//removeTemp_mc.addChild(slideShow4_mc);
			slideShow4_mc.visible = false;
			
			while(slideShow5_mc.thumbHolder_mc.numChildren) 
			{ 
				slideShow5_mc.thumbHolder_mc.removeChildAt(0); 
			} 
			//removeTemp_mc.addChild(slideShow5_mc);
			slideShow5_mc.visible = false;
			
			//Vrati NaviMenu na Stage
			//-------------------------------------------------------
			TweenLite.to(naviMenu_mc, 0.5, { autoAlpha:1, ease:Quad.easeIn } );
			dodajPhotography();
		}
	}
}

:ludjak:

Dobar dizajn, predobre fotografije!

mrak vec dugo nisam vidio ovako nesto dobro. Svaka cast.


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja