?>
Çalışmamızda actionscript 2.0 kar efekti yapacağız sitemizde farklı uygulamalar mevcut olsada değişik uygulamaları eklemekte faydalı olur sanıyorum. Çalışmamıza başlayalım yeni çalışma sayfası açalım benim tercihim 400×300 px oldu.
1-Sahneye bir daire oluşturalım dış çizgisi olmasın daireyi seçili durumda F8 movie clip yapalım name olarak kartanesi yazalım.

2-Sahnedki klip seçili durumda instance name penceresine kar yazalım.

3-Sahnedeki klipi seçili yapalım sağ klik actions paneli açıp F9 ekli kodu ekleyelim.
onClipEvent (load) {
//çalışma sayfamızın px değerleri
movieWidth = 400;
movieHeight = 300;
//değişken kar hızı
i = 1+Math.random()*2;
k = -Math.PI+Math.random()*Math.PI;
//kar tanesi özellikleri
this._xscale = this._yscale=30+Math.random()*75;
this._alpha = 75+Math.random()*100;
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;
}
onClipEvent (enterFrame) {
rad += (k/180)*Math.PI;
this._x -= Math.cos(rad);
this._y += i;
if (this._y>=movieHeight) {
this._y = -5;
}
if ((this._x>=movieWidth) || (this._x<=0)) {
this._x = -10+Math.random()*movieWidth;
this._y = -5;
}
}
4-Yeni layer ekleyelim layer adı action olsun 1.framede actions paneli açalım ekli kodu ekleyelim.
for (k=0; k<75; k++) {
duplicateMovieClip(this.kar, "kar"+k, k);
}
5-Çalışmayı test edelim Ctrl+Enter
]]>
2-Gerekli işlemleri tamamladık şimdi 1.frameye örnek kodları girelim. Dilerseniz sözleri değişebilir ekleyebilirsiniz örnekte gördüğünüz gibi başlarına tırnak eklemeyi unutmayın.
var gununsozu:Array=new Array("hayat biz onu planlarken başımızdan gelip geçenlerdir.", "Hiçbir şey için geç değil ve geç değil bir şey için hiç birşey", "dünyanın en centilmen insanı, karanlıkta bile esnerken ağzını kapatan insandır", "Hiç kimse duymak istemeyen biri kadar sağır olamaz",
"Sorularını yürekten sorarsan, cevaplarını da yürekten alırsın","ak akçe kara kedi içindir","Her zaman doğru söyle, ne dediğini hatırlamak zorunda kalmazsın");
rasgele=random(gununsozu.length);
laf_txt.text=gununsozu[rasgele];
]]>

2-Resim seçil tekrar F8 byu sefer movie clip yapalım.

3-İki adet buton hazırlayacağız. İlk olarak eksi buton yapalım yeni layer ekleyelim layer adı eksi olsun rectangle tool aracı ile dikdörtgen oluşturalım ortasına eksi işareti yapalım. Seçili durumda F8 ilk olarak symbol yapalım name eksi_grap olsun tekrar seçili durumda klip yapalım name eksi_mc olsun eksi layeri resim layerinin altına alalım. Artı butonu aynı şekilde yeni layer ekleyelim layer adı artı olsun kısaca aynı yöntem ile hazırlayalım.

4-Eksi buton seçili durumda instance name kutusuna eksi_mc yazalım. Artı buton seçili instance name kısmına arti_mc yazalım.

5-Resim layere gelelim sahnedeki resmi seçili yapalım instance name kısmına resim_mc yazalım properties panelden resmimizi küçültelim W-100 H-100 yapıyoruz benim resmin eşit olduğu için 100×100 oldu.

6-Resmimiz ¼ oranında büyüyecek. Yeni layer ekleyelim layer adı action olsun 1. Framede action paneli açalım ekli kodu ekleyelim.
arti_mc.onRelease = function ()
{
if (resim_mc._xscale == 250 && resim_mc._yscale == 250)
{
resim_mc.enabled = false;
}
else
{
resim_mc._xscale = resim_mc._xscale + 25;
resim_mc._yscale = resim_mc._yscale + 25;
}
};
eksi_mc.onRelease = function ()
{
if (resim_mc._xscale == 25 && resim_mc._yscale == 25)
{
resim_mc.enabled = false;
}
else
{
resim_mc._xscale = resim_mc._xscale - 25;
resim_mc._yscale = resim_mc._yscale - 25;
}
};
Çalışmamızı test edelim Ctrl+Enter
]]>
1-Resmimizi layer1 1.frameye ekleyelim layer adını arka yapalım. Yeni layer ekleyelim layer adını maske yapalım Oval Tool aracı ile bir daire veya elips oluşturalım dış çizgisi olmasın. Oluşturduğumuz daireyi seçili durumda movie clip yapalım name maske_klip olsun. Klip seçili durumda instance name kısmına maske_mc yazalım.

2-Maske layer üzerine gelelim sağ klik mask seçeneğini aktif edelim. Maske layerin 1.framesinde actions paneli açalım F9 ekli kodu ekleyelim.
maske_mc.onEnterFrame = function() {
this._x = _root._xmouse;
this._y = _root._ymouse;
};
maske_klip.setMask(mask_mc);
3-Final Test edelim Ctrl+Enter
]]>



//--------------PHOTODERS.COM--------------
//-------------------------------------
Stage.scaleMode = "noScale"
Stage.align = "TL"
var nbre:Number=0;
var count:Number=0;
var randomtime:Number=0;
var impact:Array=new Array();
var taille:Object = new Object();
chuteobjet._visible=false;
onEnterFrame=function() {
time = getTimer();
if (time>=randomtime) {
count += 1;
duplicateMovieClip("chuteobjet", "chuteobjet"+count, count);
setProperty("chuteobjet"+count,_x,random(Stage.width));
setProperty("chuteobjet"+count,_y,0);
var echelle:Number=40+random(50);
setProperty("chuteobjet"+count, _yscale, echelle);
setProperty("chuteobjet"+count, _xscale, echelle);
randomtime = Math.random()*40+time;
var vx:Number=random(3)*(1-random(3));
var vy:Number=3+random(3);
init_boucle(this["chuteobjet"+count],vx,vy);
}
}
function init_boucle(mc,vx,vy){
mc.onEnterFrame=function(){
this._y+=vy/3;
this._x+=vx/3;
if (this._x<0+this._width/2 || this._x>Stage.width-this._width/2){
delete this.onEnterFrame;
this.removeMovieClip();
}
if (this._y>Stage.height-this._height/2){
nbre++;
if(nbre>125){
delete this.onEnterFrame;
removeMovieClip(this);
}
else{
delete this.onEnterFrame;
impact[nbre]=this;
}
}
}
}
Stage.addListener(taille);
taille.onResize = function () {
for (j=0;j impact[j]._y=Stage.height-impact[j]._height/2;
}
}
Çalışmamızı test edebiliriz
CTRL+ENTER