<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>-99 design studio</title>
	<atom:link href="http://www.minus99.com/lang/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.minus99.com</link>
	<description>-99 design studio, is a multi-disiplinary digital agency running by a bunch of design addict creative people, we enjoy creating cool stuff that we and our clients love.</description>
	<lastBuildDate>Tue, 31 Jan 2012 10:26:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<div id='fb-root'></div>
					<script type='text/javascript'>
						window.fbAsyncInit = function()
						{
							FB.init({appId: null, status: true, cookie: true, xfbml: true});
						};
						(function()
						{
							var e = document.createElement('script'); e.async = true;
							e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
							document.getElementById('fb-root').appendChild(e);
						}());
					</script>	
						<item>
		<title>Taşındık. YTÜ TeknoPark C1</title>
		<link>http://www.minus99.com/lang/en/blog/tasindik-ytu-teknopark-c1</link>
		<comments>http://www.minus99.com/lang/en/blog/tasindik-ytu-teknopark-c1#comments</comments>
		<pubDate>Tue, 31 Jan 2012 10:26:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[activities]]></category>
		<category><![CDATA[office]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=790</guid>
		<description><![CDATA[Yeni adresimiz, YTÜ TeknoPark C1 : )]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-791" title="teknokent" src="http://www.minus99.com/wp-content/uploads/2012/01/teknokent.jpg" alt="" width="700" height="485" /></p>
<p>Yeni adresimiz, YTÜ TeknoPark C1 : )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/tasindik-ytu-teknopark-c1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash AS3 bitmap görseli parçalara bölme</title>
		<link>http://www.minus99.com/lang/en/blog/flash-as3-bitmap-gorseli-parcalara-bolme</link>
		<comments>http://www.minus99.com/lang/en/blog/flash-as3-bitmap-gorseli-parcalara-bolme#comments</comments>
		<pubDate>Sun, 22 Jan 2012 00:09:17 +0000</pubDate>
		<dc:creator>alacaesar</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[copypixels]]></category>
		<category><![CDATA[PerspectiveProjection]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=754</guid>
		<description><![CDATA[Bu örnekte, bir görseli flash&#8217;ın içine yükleyip copyPixels yöntemini kullanarak parçalara bölmeyi ve bu bitmap parçaları ile biraz trigonometri kullanarak bir hareket yaratmayı gösteriyorum. örneği incelemek için online demo. as3-bitmap-slice-and-dance.zip klasöründe gerekli, baştan sona yorumlarla açıklanmış, .as ve .fla dosyalarını &#8230; <a href="http://www.minus99.com/lang/en/blog/flash-as3-bitmap-gorseli-parcalara-bolme"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.minus99.com/wp-content/uploads/2012/01/as3-bitmap-slicing-effect.gif" alt="" title="as3-bitmap-slicing-effect" width="740" height="439" class="alignnone size-full wp-image-755" /></p>
<p>Bu örnekte, bir görseli flash&#8217;ın içine yükleyip <em>copyPixels</em> yöntemini kullanarak parçalara bölmeyi ve bu bitmap parçaları ile biraz trigonometri kullanarak bir hareket yaratmayı gösteriyorum.<br />
örneği incelemek için <a href="http://www.minus99.com/lab/flash-as3-bitmap-slice-into-pieces-effect" target="_blank">online demo</a>.<br />
<span id="more-754"></span><br />
<a href="http://www.minus99.com/lab/flash-as3-bitmap-slice-into-pieces-effect/SliceNDance.zip">as3-bitmap-slice-and-dance.zip</a> klasöründe gerekli, baştan sona yorumlarla açıklanmış, <em>.as</em> ve <em>.fla</em> dosyalarını bulabilirsiniz.</p>
<h2>Kullanım şekli</h2>
<p>SliceNDance.as class&#8217;ını ilk önce çağırıyoruz.</p>
<div class="code">
<b>import</b> com.minus99.effects.SliceNDance;
</div>
<p>Sonra nesneyi bu şekilde oluşturup ve görüntü listesine ekliyoruz.</p>
<div class="code">
<span class="comment">// parametreler<br />// SliceNDance(görselLinki, yataydaParçaSayısı, dikeydeParçaSayısı, yarıçap);</span><br />
var benimMC:MovieClip = new SliceNDance(&#8220;02.png&#8221;, 5, 25, 160);<br />
addChild(benimMC);
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/flash-as3-bitmap-gorseli-parcalara-bolme/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Polaroid Galeri</title>
		<link>http://www.minus99.com/lang/en/blog/as3-polaroid-galeri</link>
		<comments>http://www.minus99.com/lang/en/blog/as3-polaroid-galeri#comments</comments>
		<pubDate>Mon, 16 Jan 2012 10:02:12 +0000</pubDate>
		<dc:creator>burakkarakaya</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[as3 Polaroid gallery]]></category>
		<category><![CDATA[Polaroid]]></category>
		<category><![CDATA[Polaroid gallery]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=767</guid>
		<description><![CDATA[AS3 Polaroid Galeri. örneğini görmek için online demo linkine tıklayın. rar dosyasının içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum. Genel mantığı öncelikle xmlden yüklenecek resimleri for döngüsüne sokarız. Loader nesnesinde Event.COMPLETE(resim yüklenmiş) olayı &#8230; <a href="http://www.minus99.com/lang/en/blog/as3-polaroid-galeri"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.minus99.com/wp-content/uploads/2012/01/polaraid1.jpg"><img class="alignnone size-full wp-image-769" src="http://www.minus99.com/wp-content/uploads/2012/01/polaraid1.jpg" alt="" width="742" height="436" /></a></p>
<p>AS3 Polaroid Galeri. örneğini görmek için <a href="http://minus99.com/lab/polaroid/" target="_blank">online demo</a> linkine tıklayın. <a href="http://minus99.com/lab/polaroid/polaroid.rar" target="_blank">rar dosyasının</a> içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum.</p>
<p><span id="more-767"></span></p>
<p>Genel mantığı öncelikle xmlden yüklenecek resimleri for döngüsüne sokarız. Loader nesnesinde Event.COMPLETE(resim yüklenmiş) olayı olunca counter 1 arttırılır. tüm resimler yüklenince counter xmldeki item sayısına eşit olur bundan sonrada openAnimate ile açılış efektini oluştururuz.</p>
<div class="code">
for (var i:uint=0; i&lt;xml.images.item.length(); ++i)<br />
			{<br />
				var ldr:Loader=new Loader();<br />
					ldr.load(new URLRequest(xml.images.item[i].@large));<br />
					ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void<br />
														   				   {<br />
																			   counter++;<br />
																			   if (counter == xml.images.item.length())<br />
																			   {<br />
																				   counter = 0;<br />
																				   openInt = setInterval(openAnimate, 500);<br />
																			   }</p>
<p>																			   var bmp:Bitmap = e.currentTarget.content;<br />
																			   	   bmp.smoothing = true;<br />
																				   bmp.x = 15;<br />
																				   bmp.y = 15;<br />
																		   });</p>
<p>}
</p></div>
<p>
State ile farklı rotation değerleri gelmesini sağlarız. örneğin rotationValue = Math.random() * 7; bu satırda &#8220;+&#8221; bir değer gelirken, rotationValue = Math.random() * -7; bu satırda &#8220;-&#8221; bir değer gelebilir. aynı yapı xkoor ve ykoor değerleri içinde geçerlidir.
</p>
<div class="code">
if (State)<br />
					{<br />
						State = false;<br />
						rotationValue = Math.random() * 7; </p>
<p>						xkoor = sw / 4 * Math.random() &#8211; sw;<br />
						ykoor = sh / 4 * Math.random() &#8211; sh;<br />
					}<br />
					else<br />
					{<br />
						State = true;<br />
						rotationValue = Math.random() * -7;</p>
<p>						xkoor = sw / 4 * Math.random() + sw;<br />
						ykoor = sh / 4 * Math.random() + sh;<br />
					}
</p></div>
<p>mc&#8217;ye con movieclibinin ilk elemanını atarız. daha önce xkoor ve ykoor ile x ve y değerleri sahnenin dışında olan movieclibleri Tween ile x ve y değerlerini 0 yaparız. counter her seferince arttığı içinde sırasıyla 1. movieclip, 2.movieclip&#8230; diye giderek tüm mcleri dolaşır ve açılış efektini oluşturmuş oluruz.</p>
<div class="code">
private function openAnimate():void<br />
		{<br />
			var mc = con.getChildAt(counter);<br />
			Tweener.addTween(mc, {x:0, y:0, time:.5, transition:&#8221;easeOutExpo&#8221;});<br />
			counter++;</p>
<p>			if (counter == con.numChildren)<br />
			{<br />
				counter = 0;<br />
				clearInterval(openInt);<br />
			}<br />
		}
</p></div>
<p> Paloroid animasyonu için en önemli kısım. Aslında mantığı basit. yapmamız gereken en üst katmadandaki objeye kişi tıklayınca x:500 ve y:-100 yaparak dışarı kaymasını sağlarız. animasyonun onComplete olayındada con.setChildIndex(mc, 0); setChildIndex ile mcyi en alt katmana atarız.</p>
<div class="code">
private function OnClick(e:MouseEvent):void<br />
		{<br />
			con.mouseChildren = con.mouseEnabled = false;</p>
<p>			var mc = e.currentTarget;<br />
			Tweener.addTween(mc, {x:500, y:-100, time:.2, transition:&#8221;easeInExpo&#8221;, onComplete:function(){con.mouseChildren = con.mouseEnabled = true; con.setChildIndex(mc, 0); Tweener.addTween(mc,{x:0, y:0, time:.2, transition:&#8221;linear&#8221;}) }})<br />
		}
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/as3-polaroid-galeri/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 3D Resim Galerisi</title>
		<link>http://www.minus99.com/lang/en/blog/as3-3d-resim-galerisi</link>
		<comments>http://www.minus99.com/lang/en/blog/as3-3d-resim-galerisi#comments</comments>
		<pubDate>Wed, 28 Dec 2011 13:06:39 +0000</pubDate>
		<dc:creator>burakkarakaya</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[3D gallery]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[PerspectiveProjection]]></category>
		<category><![CDATA[rotationX]]></category>
		<category><![CDATA[rotationY]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=692</guid>
		<description><![CDATA[AS3 3D Resim Galerisi. örneğini görmek için online demo linkine tıklayın. rar dosyasının içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum. Öncelikle mouse&#8217; un stage göre X ve Y oranlarını alırız. var xKoor:Number = &#8230; <a href="http://www.minus99.com/lang/en/blog/as3-3d-resim-galerisi"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.minus99.com/wp-content/uploads/2011/12/as3-3d-gallery2.jpg"><img class="alignnone size-full wp-image-695" src="http://www.minus99.com/wp-content/uploads/2011/12/as3-3d-gallery2.jpg" alt="" width="742" height="436" /></a></p>
<p><a href="http://www.minus99.com/wp-content/uploads/2011/12/as3-3d-gallery2.jpg"></a>AS3 3D Resim Galerisi. örneğini görmek için <a href="http://minus99.com/lab/3dgallery/" target="_blank">online demo</a> linkine tıklayın. <a href="http://minus99.com/lab/3dgallery/3dgallery.rar" target="_blank">rar dosyasının</a> içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum.</p>
<p><span id="more-692"></span></p>
<p>Öncelikle mouse&#8217; un stage göre X ve Y oranlarını alırız. var xKoor:Number = mouseX / sw; var yKoor:Number = mouseY / sh;<br />
örneğin stage genişliği 800px, mouse stage üstünde 100px&#8217;de ise 100/800 = 0,125<br />
elimizde 0,125 gibi bir oran var. Bunu kendi belirlediğimiz bir değerle çarparız. ben burada 50 dedim. 50*0.125 = 6,25<br />
Çıkan değeride yine kendi belirlediğimiz 25 ile çıkartırız. mouse&#8217;un her seferinde konumu değişeceği için bu değerde her seferinde değişecek<br />
ve rotationX değeride değişecek. rotationY aynı işlemleri yaparız.<br />
Böylece büyük resmin mouse&#8217;un hareketine göre rotationX ve rotationY değerleri değişeceğinden 3 boyutlu bir görünüm elde edeceğiz.<br />
buradaki en öenmli kısım bigImage movieclibinin ortası referans noktası olması gerekiyor.</p>
<div class="code">private function movement(e:MouseEvent):void<br />
{<br />
var xKoor:Number = mouseX / sw;<br />
var yKoor:Number = mouseY / sh;<br />
Tweener.addTween(bigImage,{rotationY:(25 &#8211; (50 * xKoor)), rotationX:(25 &#8211; (50 * yKoor)),time:.3,transition:&#8221;linear&#8221;});<br />
}</div>
<p>Perspective düzgün olabilmesi için PerspectiveProjection her sayfa resize olduğunda sahnenin orta noktası olarak ayarlamamız gerekiyor. bunun için update diye bir fonksiyon yazarız.<br />
sayfa resize olduğunda çalışan adjust fonksiyonu içinde update fonksiyonunu tetikleriz. fieldOfView ile derinliği ayarlar, projectionCenter ilede orta noktayı belirleriz.<br />
en son işlem olarakta bigImage movieclibinin transform.perspectiveProjection özelliğine pp değerini atarız.</p>
<div class="code">private function update():void<br />
{<br />
var pp:PerspectiveProjection = new PerspectiveProjection();<br />
pp.fieldOfView = 50;<br />
pp.projectionCenter=new Point(Math.round(sw * .5), Math.round(sh * .5));</p>
<p>bigImage.transform.perspectiveProjection = pp;<br />
}</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/as3-3d-resim-galerisi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Just bowlin&#8217;</title>
		<link>http://www.minus99.com/lang/en/blog/just-bowlin</link>
		<comments>http://www.minus99.com/lang/en/blog/just-bowlin#comments</comments>
		<pubDate>Sat, 24 Dec 2011 14:43:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[activities]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=708</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-709" title="IMG_0154" src="http://www.minus99.com/wp-content/uploads/2011/12/IMG_0154.gif" alt="" width="550" height="411" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/just-bowlin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Sayfalama Sistemi</title>
		<link>http://www.minus99.com/lang/en/blog/as3-sayfalama-sistemi</link>
		<comments>http://www.minus99.com/lang/en/blog/as3-sayfalama-sistemi#comments</comments>
		<pubDate>Wed, 21 Dec 2011 10:00:31 +0000</pubDate>
		<dc:creator>burakkarakaya</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[paging]]></category>
		<category><![CDATA[sayfalama]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=671</guid>
		<description><![CDATA[As3 sayfalama sistemi. örneğini görmek için online demo linkine tıklayın. zip dosyasının içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum. dinamik bir yapı kurmak için row, col, thumbWidth, thumbHeight, xPadding, yPadding değerlerini xml dosyamız &#8230; <a href="http://www.minus99.com/lang/en/blog/as3-sayfalama-sistemi"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.minus99.com/wp-content/uploads/2011/12/as3-sayfalama-efekti.jpg" alt="" title="as3-sayfalama-efekti" width="742" height="436" class="alignnone size-full wp-image-689" /><br />
As3 sayfalama sistemi. örneğini görmek için <a href="http://minus99.com/lab/sayfalama/" target="_blank">online demo</a> linkine tıklayın. <a href="http://minus99.com/lab/sayfalama/sayfalama.rar" target="_blank">zip dosyasının</a> içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum.</p>
<p><span id="more-671"></span></p>
<p>dinamik bir yapı kurmak için row, col, thumbWidth, thumbHeight, xPadding, yPadding değerlerini xml dosyamız içindeki settings kısmından alırız.	row satır sayısı, col sütun sayısı, thumbWidth genişlik, thumbHeight yükseklik, xPadding ve yPadding ilede thumbnailler arası ne kadar boşluk verebileceğimizi ayarlarız. TotalImage değeri içerisindede toplam resim sayısını tutarızki buda bize sayfalama yaparken gerekecek.</p>
<div class="code">public function MinusGallery(st:Stage, xm:XMLList):void<br />
{<br />
stageRef = st;<br />
xml = xm;</p>
<p>row = xml.settings.@row;<br />
col = xml.settings.@col;<br />
thumbWidth = xml.settings.@thumbWidth;<br />
thumbHeight = xml.settings.@thumbHeight;<br />
xPadding = xml.settings.@xPadding;<br />
yPadding = xml.settings.@yPadding;<br />
totalImage = xml.images.item.length();</p>
<p>init();<br />
}</p>
</div>
<p>bu kısımdaki en önemli noktada ilk lastN değerini bulmamız. Bunun için sütun ve satır değerlerini çarpmamız lazım. Ayrıca sütun ve satır değerleri totalImage yani toplam resim sayısından azsa lastN toplam resim sayısına eşitlememiz gerekiyor.			viewCount değeride sayfalamada kaç adet thumbnail gösterileceğini belirtiriz.</p>
<div class="code">private function init():void<br />
{<br />
arrBtn = new Array();</p>
<p>con = new MovieClip();<br />
addChild(con);</p>
<p>btnCon = new MovieClip();<br />
btnCon.y = (thumbHeight * row) + (yPadding * row);<br />
con.addChild(btnCon);</p>
<p>thumbCon = new MovieClip();<br />
con.addChild(thumbCon);</p>
<p>viewCount = row * col;<br />
lastN = row * col;<br />
if (totalImage &lt; lastN) lastN = totalImage;</p>
<p>thumbList();<br />
pagegingBtn();<br />
adjust();<br />
}</p>
</div>
<p>bu kısımda Math.ceil fonksiyonu ile kaç adet sayfalama butonu oluşturacağımızı belirleriz. Math.ceil içindeki değeri yuvarlar. yani 1.1 gibi bir değeri 2&#8242;ye, 0.8 gibi bir değeri 1&#8242;e yuvarlar.	Böylece sayfalamada kaç adet buton kullanacağımızıbelirleriz. örnek xml dosyamızda toplam 22 item var. sayfadada 9 adet thumb gösterilecek. 22 / 9 = 2,444 gibi bir değer çıkar Math.ceil fonksiyonuda bunu 3&#8242;e yuvarlar. böylece 3 tane sayfalama butonu yapmış oluruz.</p>
<div class="code">private function pagegingBtn():void<br />
{<br />
for (var i:uint = 0; i &lt; Math.ceil(totalImage / viewCount); i++)<br />
{<br />
var btn:MovieClip = new MovieClip();<br />
btn.graphics.beginFill(0&#215;525252);<br />
btn.graphics.drawRect(0,0,20,10);<br />
btn.x = i * 25;<br />
btn.k = i;<br />
btnCon.addChild(btn);<br />
btn.addEventListener(MouseEvent.CLICK,onPageClick);<br />
btn.buttonMode = true;<br />
arrBtn.push(btn);<br />
}</p>
<p>pasifBtn(0);<br />
}</p>
</div>
<p>closeAnimate fonksiyonunu sayfalama yaptığımız butonları tıkladığımızda tekiklediğimiz<br />
onPageClick fonksiyonu ile tetikleriz. closeAnimate fonksiyonunun amacı thumbnailleri tuttuğumuz<br />
thumbCon içindeki movieclipleri getChildAt ile ulaşıp alpha değerlerini sıfıra çekerek bir kapanış efekti oluşturmak.<br />
tabi sizler daha farklı efektlerde uygulayabilirsiniz.</p>
<p>ayrıca koymuş olduğum closeCounter ilede thumbCon içindeki thumbnail sayısına ulaşınca closeInt intervalini sıfırlayıp<br />
cleanUp fonksiyonu ilede thumbCon içindeki tüm movieclipleri sileriz.</p>
<p>ve burada sayfalama yapmak için en önemli kısım</p>
<p>firstN = current * viewCount;//firstN değerini belirleriz. current değerini onPageClick belirlemiştik. bu değerde aktif sayfayı 1, 2, 3 sayfa gibi onu tutarız.<br />
lastN = firstN + viewCount;//lastN değeride firstN ile viewCount toplarız.<br />
if (totalImage &lt; lastN) lastN = totalImage;//totalImage &lt; lastN küçükse lastN = totalImage</p>
<div class="code">private function closeAnimate():void<br />
{<br />
var mc = thumbCon.getChildAt(closeCounter);<br />
Tweener.addTween(mc,{alpha:0, time:0.12, transition:&#8221;linear&#8221;});<br />
closeCounter++;</p>
<p>if (closeCounter == thumbCon.numChildren)<br />
{<br />
clearInterval(closeInt);<br />
cleanUp(thumbCon);</p>
<p>firstN = current * viewCount;<br />
lastN = firstN + viewCount;<br />
if (totalImage &lt; lastN) lastN = totalImage;</p>
<p>thumbList();<br />
}<br />
}</p>
</div>
<p>bu kısımda satır, sütun dizme işlemleri yapılır. oluşturulan xCounter her seferinde 1 arttırılır. bu değer col değerine eşitlenince<br />
xCounter sıfıra eşitlenir ve yCounter bir arttırılır. bunlarda oluşturulan thumbnaillerin x ve y değerlerine eşitlenince sıralama yapılmış olur.</p>
<div class="code">private function thumbList():void<br />
{<br />
for (var i:uint = firstN; i &lt; lastN; i++)<br />
{<br />
if (xCounter == col)<br />
{<br />
xCounter = 0;<br />
yCounter++;<br />
}</p>
<p>var ldr:Loader = new Loader();<br />
ldr.load(new URLRequest(xml.images.item[i].@thumb));<br />
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbComplete);</p>
<p>var btn:MovieClip = new MovieClip();<br />
btn.graphics.beginFill(0&#215;525252);<br />
btn.graphics.drawRect(0,0,thumbWidth,thumbHeight);<br />
btn.x = xCounter * (thumbWidth + xPadding);<br />
btn.y = yCounter * (thumbHeight + yPadding);<br />
btn.k = xml.images.item[i].@url;<br />
btn.addEventListener(MouseEvent.CLICK,onThumbClick);<br />
btn.buttonMode = true;<br />
btn.alpha = 0;</p>
<p>btn.addChild(ldr);<br />
thumbCon.addChild(btn);</p>
<p>xCounter++;<br />
}</p>
<p>xCounter = 0;<br />
yCounter = 0;</p>
<p>openCounter = 0;<br />
openInt = setInterval(openAnimate, 120);</p>
<p>}</p>
</div>
<p>closeAnimate fonksiyonundaki aynı mantık kullanılarak thumbnaillere açılış efekti verilmiştir.</p>
<div class="code">private function openAnimate():void<br />
{<br />
var mc = thumbCon.getChildAt(openCounter);<br />
Tweener.addTween(mc,{alpha:1, time:0.12, transition:&#8221;linear&#8221;});<br />
openCounter++;</p>
<p>if (openCounter == thumbCon.numChildren)<br />
{<br />
clearInterval(openInt);<br />
thumbCon.mouseChildren = thumbCon.mouseEnabled = true;<br />
btnCon.mouseChildren = btnCon.mouseEnabled = true;<br />
}<br />
}</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/as3-sayfalama-sistemi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ramsey</title>
		<link>http://www.minus99.com/lang/en/works/ramsey</link>
		<comments>http://www.minus99.com/lang/en/works/ramsey#comments</comments>
		<pubDate>Tue, 20 Dec 2011 10:42:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[selected works]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[flash website]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=651</guid>
		<description><![CDATA[<img src="http://www.minus99.com/wp-content/uploads/2011/12/ramsey.jpg" alt="" title="ramsey" width="834" height="300" class="alignnone size-full wp-image-658" />
"İyi Moda, İyi Marka" anlayışıyla yolunu çizen Ramsey'in kurumsal websitesini yeniden yarattık. <a href="http://www.minus99.com/lang/en/works/ramsey"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.minus99.com/wp-content/uploads/2011/12/ramsey_screen_1.jpg" alt="" title="ramsey_screen_1" width="822" height="728" class="alignnone size-full wp-image-652" /><img src="http://www.minus99.com/wp-content/uploads/2011/09/ramsey_screen_2.jpg" alt="" title="ramsey_screen_2" width="822" height="378" class="alignnone size-full wp-image-661" /><img src="http://www.minus99.com/wp-content/uploads/2011/09/ramsey_screen_3.jpg" alt="" title="ramsey_screen_3" width="822" height="516" class="alignnone size-full wp-image-662" /><img src="http://www.minus99.com/wp-content/uploads/2011/09/ramsey_screen_4.jpg" alt="" title="ramsey_screen_4" width="822" height="518" class="alignnone size-full wp-image-663" /><img src="http://www.minus99.com/wp-content/uploads/2011/09/ramsey_screen_5.jpg" alt="" title="ramsey_screen_5" width="822" height="688" class="alignnone size-full wp-image-664" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/works/ramsey/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cem Hakko</title>
		<link>http://www.minus99.com/lang/en/works/cem-hakko</link>
		<comments>http://www.minus99.com/lang/en/works/cem-hakko#comments</comments>
		<pubDate>Fri, 02 Dec 2011 23:47:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[selected works]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[logo]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=730</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko_screen.jpg" alt="" title="cem-hakko_screen" width="850" height="496" class="alignnone size-full wp-image-731" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-12.jpg" alt="" title="cem-hakko-12" width="850" height="239" class="alignnone size-full wp-image-743" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-8.jpg" alt="" title="cem-hakko-8" width="850" height="484" class="alignnone size-full wp-image-739" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-34.jpg" alt="" title="cem-hakko-34" width="850" height="239" class="alignnone size-full wp-image-744" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-logo-type.jpg" alt="" title="cem-hakko-logo-type" width="850" height="332" class="alignnone size-full wp-image-740" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-56.jpg" alt="" title="cem-hakko-56" width="850" height="239" class="alignnone size-full wp-image-745" /><img src="http://www.minus99.com/wp-content/uploads/2012/01/cem-hakko-7.jpg" alt="" title="cem-hakko-7" width="850" height="484" class="alignnone size-full wp-image-738" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/works/cem-hakko/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>As3 görsel oranını bozmadan fullscreen background image</title>
		<link>http://www.minus99.com/lang/en/blog/as3-fullscreen-background-image</link>
		<comments>http://www.minus99.com/lang/en/blog/as3-fullscreen-background-image#comments</comments>
		<pubDate>Fri, 02 Dec 2011 15:16:57 +0000</pubDate>
		<dc:creator>burakkarakaya</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[fullscreen background]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=629</guid>
		<description><![CDATA[Görsel oranını bozmadan, genişlik ve yükseklik oranlarına göre resize eden full ekran background görseli. örneğini görmek için online demo linkine tıklayın. zip dosyasının içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum. ilk önce stage &#8230; <a href="http://www.minus99.com/lang/en/blog/as3-fullscreen-background-image"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-642" title="different-screen-sizes" src="http://www.minus99.com/wp-content/uploads/2011/12/different-screen-sizes.jpg" alt="" width="719" height="198" /></p>
<p>Görsel oranını bozmadan, genişlik ve yükseklik oranlarına göre resize eden full ekran background görseli. örneğini görmek için <a href="http://minus99.com/lab/fullscreen/" target="_blank">online demo</a> linkine tıklayın. <a href="http://minus99.com/lab/fullscreen/fullscreen.rar" target="_blank">zip dosyasının</a> içinde bulunan .as dosyası içinde kapsamlı yorum bulabilirsiniz. kodun nasıl çalıştığını kısaca aşağıda gösteriyorum.</p>
<p><span id="more-629"></span></p>
<p>ilk önce stage ayarlanıyor</p>
<div class="code">stage.align=StageAlign.TOP_LEFT;<br />
stage.scaleMode=StageScaleMode.NO_SCALE;<br />
stage.addEventListener(Event.RESIZE,onStageResize);</div>
<p>dışarıdan resim yükleteceğimiz için loader nesnesi oluşturuluyor. Dışarıdan metin tabanlı(xml,json,txt) yüklenirse URLLoader nesnesi oluşturulur. URLRequest nesnesi ile resmimizin yolu gösterilir. loader nesnemize Complete Event eklenir ki resmin yüklendiğini anlayabilelim.</p>
<div class="code">private function init():void<br />
{<br />
back = new MovieClip();<br />
addChild(back);<br />
var ldr:Loader=new Loader();<br />
ldr.load(new URLRequest(&#8220;assets/resminizinyolu.jpg&#8221;));<br />
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);<br />
}</div>
<p>dışarıdan yüklenen resme e.currentTarget.content ile ulaşırız. smoothing=true yapmamızın nedeni resmi büyüterek resize ettiğimizde pikselleşmenin önüne geçeriz. gelen resmi back movieclibine addChild ederiz. resim yüklendikten sonra onStageResize fonksiyonu ile resmi resize ederiz. normalde onStageResize fonksiyonu browserı resize etiğimizde çalışacaktır. ama biz yüklendikten hemen sonra bu fonksiyonun çalışmasını istiyoruz. bu yüzdende onStageResize(null) ile boş bir değer gönderip çalıştırıyoruz. Eğer değer göndermeden onStageResize() şeklinde yazsaydık flash hata verecekti.</p>
<div class="code">private function onComplete(e:Event):void<br />
{<br />
e.currentTarget.content.smoothing = true;<br />
back.addChild(e.currentTarget.content);<br />
onStageResize(null);<br />
}</div>
<p>ilk önce background görselinin genişliğini ve yüksekliğini stage&#8217;ın genişlik ve yüksekliğine eşitliyoruz, bu işlem görselin scaleX ve scaleY değerini değiştirdiği için bu iki değeri birbiri ile karşılaştırarak stage&#8217;ın yükseklik/genişlik oranının görselin yükseklik/genişlik oranından büyük olup olmadığını test edebiliyoruz. ona göre de görseli ya genişliğe göre yada yüksekliğe göre ayarlıyoruz.</p>
<div class="code">private function onStageResize(e:Event):void<br />
{<br />
if (back)<br />
{<br />
back.width = stage.stageWidth;<br />
back.height = stage.stageHeight;</p>
<p>if (back.scaleX &gt; back.scaleY )<br />
{<br />
back.scaleY = back.scaleX<br />
}<br />
else<br />
{<br />
back.scaleX = back.scaleY;<br />
}<br />
if (centered)<br />
{<br />
back.x = Math.round(stage.stageWidth / 2 &#8211; back.width / 2);<br />
back.y = Math.round(stage.stageHeight / 2 &#8211; back.height / 2);<br />
} }<br />
}<br />
}<br />
}</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/as3-fullscreen-background-image/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 photo slice transition</title>
		<link>http://www.minus99.com/lang/en/blog/as3-dilimleme-gecis-efekti</link>
		<comments>http://www.minus99.com/lang/en/blog/as3-dilimleme-gecis-efekti#comments</comments>
		<pubDate>Fri, 18 Nov 2011 20:33:36 +0000</pubDate>
		<dc:creator>alacaesar</dc:creator>
				<category><![CDATA[playground]]></category>
		<category><![CDATA[actionscript 3.0]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.minus99.com/?p=611</guid>
		<description><![CDATA[Geçiş efektinin incelemek için online demo Kullanma şekli İlk adım olarak Slice.as class&#8217;ını çağırmanız gerekiyor, bu şekilde. import com.minus99.transitions.Slice; bundan sonra geçiş efektini kodun içinde istediğiniz yerde oluşturabilirsiniz. // parametreler Slice(XMLList, genislik, yukseklik, dilim_sayisi, gecis_hizi); var slice:MovieClip = new Slice(list, &#8230; <a href="http://www.minus99.com/lang/en/blog/as3-dilimleme-gecis-efekti"><div class="continue"><span class="meta-nav">&#8594;</span></div></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.minus99.com/blog/as3-dilimleme-gecis-efekti"><img src="http://www.minus99.com/wp-content/uploads/2011/11/as3-slice-photo-transition.jpg" alt="" width="742" height="436" class="alignnone size-full wp-image-612" /></a></p>
<p><span id="more-611"></span><br />
Geçiş efektinin incelemek için <a href="http://www.minus99.com/lab/as3-slice-transition-class/" target="_blank">online demo</a></p>
<h2>Kullanma şekli</h2>
<p>İlk adım olarak Slice.as class&#8217;ını çağırmanız gerekiyor, bu şekilde.</p>
<div class="code">
<b>import</b> com.minus99.transitions.Slice;
</div>
<p>bundan sonra geçiş efektini kodun içinde istediğiniz yerde oluşturabilirsiniz.</p>
<div class="code">
<span class="comment">// parametreler Slice(XMLList, genislik, yukseklik, dilim_sayisi, gecis_hizi);</span><br />
var slice:MovieClip = new Slice(list, 800, 400, 4, 1.5);<br />
addChild(slice);
</div>
<p>parametrelerin açıklaması aşağıdaki gibi.</p>
<dl>
<dt>XMLList</dt>
<dd>[XMLList] görsellerin url lerini taşıyan xml listesi</dd>
<dt>Genişlik</dt>
<dd>[Number] slider&#8217;in genişliği, görsellerin genişliği ile aynı olmayabilir</dd>
<dt>Yükseklik</dt>
<dd>[Number] slider&#8217;in yüksekliği, görsellerin yüksekliği ile aynı olmayabilir</dd>
<dt>Dilim Sayısı</dt>
<dd>[int] dilim sayısı, ön değer = 3</dd>
<dt>Geçiş Hızı</dt>
<dd>[Number] geçiş hızı, ön değer = 1.5 (sn)</dd>
</dl>
<p>dilimlemelerin açısı yükseklik, genişlik ve dilim sayısına bağlıdır.<br />
Download <a href="http://www.minus99.com/lab/as3-slice-transition-class/as3-slice-transition.zip">as3-slice-transition.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.minus99.com/lang/en/blog/as3-dilimleme-gecis-efekti/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

