<?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>mouse etrafında particles yapmak | Barış ÖZCAN Web Tasarım | antalya web tasarım | antalya web tasarımı | Sosyal Medya Danışmanlığı</title>
	<atom:link href="https://www.barisozcan.net/etiket/mouse-etrafinda-particles-yapmak/feed" rel="self" type="application/rss+xml" />
	<link>https://www.barisozcan.net</link>
	<description></description>
	<lastBuildDate>Tue, 23 Nov 2010 18:11:34 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Mouse Etrafında Saçılan Parçacıklar Yapmak</title>
		<link>https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak</link>
					<comments>https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 23 Nov 2010 18:11:34 +0000</pubDate>
				<category><![CDATA[FLASH]]></category>
		<category><![CDATA[fare etrafında particles yapımı]]></category>
		<category><![CDATA[mouse etrafında parçalar]]></category>
		<category><![CDATA[mouse etrafında particles yapmak]]></category>
		<category><![CDATA[Mouse Etrafında Saçılan Parçacıklar Yapmak]]></category>
		<category><![CDATA[particles yapımı]]></category>
		<guid isPermaLink="false">http://www.barisozcan.net/?p=479</guid>

					<description><![CDATA[<p>Mouse Etrafında Saçılan Parçacıklar Yapmak</p>
<p>The post <a href="https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak">Mouse Etrafında Saçılan Parçacıklar Yapmak</a> first appeared on <a href="https://www.barisozcan.net">Barış ÖZCAN Web Tasarım | antalya web tasarım | antalya web tasarımı | Sosyal Medya Danışmanlığı</a>.</p>]]></description>
										<content:encoded><![CDATA[<iframe src="http://www.facebook.com/plugins/like.php?href=https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe><p>Bu örneğimizde farenin etrafında saçılan parçacıklar (particles)  yapacağız. Demoda gördüğünüz gibi fare hareket ettikçe yeni parçacıklar  ekleniyor ve eklenen bu parçacıklar bir süre sonra küçülerek  kayboluyorlar. İlk olarak yeni bir ActionScript 3.0 belgesi açalım ve  arkaplan rengini #333333 olarak değiştirelim.<br />
Bu örneğimizde farenin etrafında saçılan parçacıklar (particles)  yapacağız. Demoda gördüğünüz gibi fare hareket ettikçe yeni parçacıklar  ekleniyor ve eklenen bu parçacıklar bir süre sonra küçülerek  kayboluyorlar. İlk olarak yeni bir ActionScript 3.0 belgesi açalım ve  arkaplan rengini #333333 olarak değiştirelim.<span id="more-479"></span></p>
<p><img decoding="async" src="http://resim.sanalkurs.net/uploads/PolyStarTool.jpg" alt="http://resim.sanalkurs.net/uploads/PolyStarTool.jpg" /></p>
<p>Arkaplan rengini değiştirdikten sonra araç çubuğundan PolyStar Tool&#8217;u  seçelim ve Properties panelindeki Options sekmesine tıklayarak Styles  sekmesinden Star&#8217;ı seçelim, Number of Sides sekmesi ile de yıldızımızın  köşe sayısını belirleyelim. Ben yıldızın köşe sayısını 7 olarak  belirledim. Dolgu rengi olarak beyaz rengi seçelim ve sahneye bir yıldız  çizelim.</p>
<p>Yıldızı Çizdikten sonra F8 kısayol tuşu ile Convert to Symbol  penceresini açalım ve Name kısmına Yildiz yazalım(verdiğimiz ismin ilk  harfinin büyük olmasına dikkat edelim). Sembole isim verdikten sonra  Advanced sekmesine tıklayalım ve açılan pencerede Export For  ActionScript seçeneğinin yanındaki onay kutucuğunu işaretleyelim. Class  sekmesine sembolümüze verdiğimiz ismin otomatik olarak geldiğini  göreceksiniz. Ok butonuna tıklayak pencereyi kapatalım ve sahne  üzerindeki sembolü silelim. Bu yaptığımız işlem sayesinde oluşturduğumuz  sembole ActionScript içerisinden ulaşıp kullanabileceğiz.</p>
<p><img decoding="async" src="http://resim.sanalkurs.net/uploads/ConvertToSymbol.jpg" alt="http://resim.sanalkurs.net/uploads/ConvertToSymbol.jpg" /><br />
Artık kodları yazmaya başlayabiliriz. Yapacağımız ilk işlemler  Library&#8217;deki sembolümüze ulaşmak ve fare hareket ettikçe sahneye  eklenmesini sağlamak olacak. Fare hareketlerini için olay dinleyicimizi  sahneye ekleyeceğiz. Oluşturduğumuz sembolü sahneye eklemek içinse  addChild() metodunu kullanacağız. Actions panelini açalım ve ilk olarak  aşağıdaki kodları yazalım.</p>
<pre>var yildiz:Yildiz;

stage.addEventListener(MouseEvent.MOUSE_MOVE, tasi);

function tasi(e:MouseEvent) {
	yildiz=new Yildiz();

	addChild(yildiz);
}
}</pre>
<p>Uygulamayı test ettiğimizde nesnemizin sahnenin üst köşesine yani x ve y  ekseninde 0 noktasına eklendiğini göreceğiz. Nesnenin farenin etrafında  olabilmesi için x ve y konumlarını sürekli olarak değiştirmemiz  gerekiyor. Bu işlemi gerçekleştirebilmek için addChild(yildiz) satırının  sonuna gellerek bir alt satıra geçelim ve aşağıdaki kodu ekleyelim.  Burada yaptığımız işlem nesnemizin x ve konumlarını farenin o anki x ve y  konumlarına göre belirlemek. Nesnenin farenin etrafında sürekli olarak  aynı yere gelmemesi içinde mouseX ve moueY değerlerine ilave olarak  Math.random() ile rastgele bir sayı üreterek nesnenin genişlik ve  yükseklik değerleriyle çarpıyoruz.</p>
<pre>yildiz.x=mouseX+Math.random()*yildiz.width;
yildiz.y=mouseY+Math.random()*yildiz.height;
</pre>
<p>Uygulamayı şimdi test ettiğimizde yildizlarin istediğimiz gibi  eklendiğini göreceğiz. Şimdi de yıldızlarımıza animasyon ekleyerek  hareket etmelerini sağlayalım.</p>
<pre>yildiz.y=mouseY+Math.random()*yildiz.height;</pre>
<p>satırının sonuna gelerek bir alt satıra geçellim ve yildizlarimiza olay  dinleyici ekleyelim. Animasyona süreklilik kazandırmak için ENTER_FRAME  olayını kullanacağız.</p>
<pre>yildiz.addEventListener(Event.ENTER_FRAME, animasyon);
</pre>
<p>Olay dinleyiciyi ekledikten sonra fareHareketi isimli fonksiyonun  dışarısına çıkalım ve animasyon isimli fonksiyonumuzu tanımlayalım.  animasyon fonksiyonu ile ilk olarak yildizların belirlediğimiz bir  oranda küçülmelerini, alfa değerlerinin azalmalarını ve aşağıya doğru  hareket etmelerini sağlayacağız. Bu olayların hangi nesnelerde  gerçekleşeceğini belirtmek için ise nesnemizin adı yerine e.target  ifadesini kullanarak olay dinleyicide belirttiğimiz olayın gerçekleştiği  nesneyi hedef alacağız. (e.target yerine yildiz yazarsak fonksiyonumuz  istediğimiz gibi çalışmayacaktır. Nedeni ise yildiz yazdığımızda sahneye  eklenen en son nesnenin hedef alınmasıdır. Sahneye sürekli olarak yeni  bir nesne eklediğimiz içinde yenisi eklendiğinde öncekinin fonksiyonu  geçersiz olacaktır.)</p>
<pre>function animasyon(e:Event) {
	e.target.scaleX-=.03;
	e.target.scaleY-=.03;
	e.target.alpha-=.03;
	e.target.y+=3;
}
</pre>
<p>Evet yıldızlarımız artık istediğimiz gibi hareket ediyor. Fakat  addChild() ile sürekli olarak sahneye eklediğimiz için bir süre sonra  animasyon yavaşlamaya ve uygulama şişmeye başlayacaktır. Bunun önüne  geçebilmek için eklediğimiz yıldızları bir süre sonra silmemiz gerek.  Peki bu zamanı nasıl bulacağız? ENTER_FRAME olayı ile nesnemizin scaleX,  scaleY ve alpha değerlerini sürekli olarak azaltıyoruz. Bu değerlerden  biri 0 olduğunda o nesneye ait olay dinleyiciyi kaldırabilir ve sahneden  silebiliriz. Bunun içinde bir koşullu ifade tanımlayacağız ve nesnenin  alpha değeri 0 olduğunda olay dinleyiciyi kaldırıp, nesneyi sahneden  sileceğiz. Yıldızları sahneye eklerken addChild() metodunu kullanmıştık.  Silerkende removeChild() metodunu kullanacağız. animasyon fonksiyonu  içerisinde son satıra gelelim ve bir alt satıra geçerek aşağıdaki  kodları ekleyelim.</p>
<pre>if (e.target.alpha&lt;=0) {
	e.target.removeEventListener(Event.ENTER_FRAME, animasyon);
	removeChild(e.target as MovieClip);
}
</pre>
<p>Artık uygulamamız istediğimiz gibi çalışıyor. Eğer yıldızları rastgele  renklendirmek istersek aşağıdaki kodları fareHareketi fonksiyonunun  içerisinde addChild(yildiz) satırından sonrasına ekleyebiliriz. Burada  ilk olarak renkleriDegistir isimli ColorTransform nesnesi tanımlıyoruz  ve tanımladığımız nesnenin renk değerinin rastgele olması için  Math.random() metodu ile rastgele bir sayı üreterek 0xFFFFFF değeri  (beyaz rengin değeridir) ile çarpıyoruz.</p>
<pre>var renkleriDegistir  : ColorTransform = new ColorTransform();
renkleriDegistir.color =  Math.random() * 0xffffff;
yildiz.transform.colorTransform = renkleriDegistir;
</pre>
<p>Kodların bitmiş hali aşağıdaki gibidir.</p>
<pre>var yildiz:Yildiz;

stage.addEventListener(MouseEvent.MOUSE_MOVE, tasi);

function tasi(e:MouseEvent) {
	yildiz=new Yildiz();

	yildiz.x=mouseX+Math.random()*yildiz.width;
	yildiz.y=mouseY+Math.random()*yildiz.height;
	addChild(yildiz);

	var renkleriDegistir  : ColorTransform = new ColorTransform();
	renkleriDegistir.color=Math.random()*0xffffff;
	yildiz.transform.colorTransform=renkleriDegistir;

	yildiz.addEventListener(Event.ENTER_FRAME, animasyon);
}


function animasyon(e:Event) {
	e.target.scaleX-=.03;
	e.target.scaleY-=.03;
	e.target.alpha-=.03;
	e.target.y+=3;

	if (e.target.alpha&lt;=0) {
		e.target.removeEventListener(Event.ENTER_FRAME, animasyon);
		removeChild(e.target as MovieClip);
	}
}

</pre><p>The post <a href="https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak">Mouse Etrafında Saçılan Parçacıklar Yapmak</a> first appeared on <a href="https://www.barisozcan.net">Barış ÖZCAN Web Tasarım | antalya web tasarım | antalya web tasarımı | Sosyal Medya Danışmanlığı</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.barisozcan.net/mouse-etrafinda-sacilan-parcaciklar-yapmak/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
