- FCS 'nin çalıştığı bilgisayarda applications klasörüne "ortaktop" (tırnaksız) isimli boş bir klasör açalım. Server tarafında başka bir ayarlama gerekmiyor.
-
Yeni bir Flash dosyası açalım ( File / New / Flash Document menüsünden ). Bunu FCS 'nin çalıştığı server 'da ( herhangi bir klasörde ) veya FCS 'ye internet veya intranet ile bağlı herhangi bir bilgisayarda yapabiliriz.
-
Bu Flash dosyamızı ortak_top.fla olarak uygun bir klasöre kaydedelim.
- Sahnemizin boyutu olduğu gibi kalsın.
-
Layer 1 'e bir daire çizelim. Bu dairenin tümünü seçip F8 'e basarak bunu bir Movie Clip 'e çevirelim. Name 'i aynen kalabilir. OK diyelim. <Instance Name> 'i top olarak değiştirelim.
-
Frame 1 seçili iken F9 'a basarak script penceresini açalım ( Actions - Frame olduğundan emin olunuz ) ve alttaki kodları yazıyorsunuz :
stop();
// 1
top_nc = new NetConnection();
// 2
top_nc.onStatus = function(info)
{
trace("Level: "+info.level+newline+"Code: "+info.code);
};
// 3
top_nc.connect("rtmp:/ortaktop");
// 4
top_so = SharedObject.getRemote("pozisyon", top_nc.uri, false);
// 5
top_so.onSync = function(list)
{
top._x = top_so.data.x;
top._y = top_so.data.y;
};
// 6
top_so.connect(top_nc);
// 7
top.onPress = function()
{
this.onMouseMove = function()
{
top_so.data.x = this._x=_root._xmouse;
top_so.data.y = this._y=_root._ymouse;
// 8
if (top._x>=Stage.width)
{
top._x = Stage.width-50;
}
if (top._x<=0)
{
top._x = 50;
}
if (top._y>=Stage.height)
{
top._y = Stage.height-50;
}
if (top._y<=0)
{
top._y = 50;
}
};
};
// 9
top.onRelease = top.onReleaseOutside=function ()
{
delete this.onMouseMove;
};
-
Uygulama bu şekilde hazırdır. fla 'mızı Shift+F12 ile swf haline publish edelim. Test etmek için swf 'den 2 tane açalım ve herhangi birinde topu rasgele tutup sürükleyelim. Eğer herşeyi doğru yaptıysanız diğer Flash Player 'deki top da aynı şekilde hareket edecektir.
Script 'in adım adım açıklanması:
1 - FCS bağlantısı tanımlıyoruz. İsmine top_nc dedik.
2 - Bağlantının sağlanması veya sağlanmaması durumunda çalışacak fonksiyonu ( onStatus fonksiyonu ) yazıyoruz. Örneğimizde, uygulamaya etki eden bir kod yok bu fonksiyonda ( sadece bağlantı hakkında bilgi veren info parametresini kullandık )
3 - connect ile server 'a bağlanıyoruz. Örnek bağlantı şekilleri:
I) baglanti_ismi.connect("rtmp:/serverdaki_dizin_ismi");
Eğer swf, FCS ile aynı bilgisayarda çalışacaksa.
II)baglanti_ismi.connect("rtmp://Server_ismi/serverdaki_dizin_ismi");
Swf, herhangi bir PC üzerinde çalışabilir (eğer Server ile network bağlantısı mevcut ise. Server_ismi yerine Server_IP no da yazılabilir)
4 - pozisyon adında ( FCS 'deki ismi) bir uzak paylaşılmış obje tanımlıyoruz. Bizdeki instance (kopya) ismi ise top_so .
5 - top_so 'nun onSync method 'unu tanımlıyoruz. Bu fonksiyon herhangi bir kullanıcının paylaştırılmış objenin data özelliklerinden birini değiştirdiğinde çalışır.
6 - Paylaşılmış objenin bağlantısını gerçekleştiriyoruz. Kullanımı: paylaşılmışObje.connect(RTMPbağlantısı);
7 - Sahnedeki top movieClip 'e basılıp sürüklendiğinde, paylaşılmış objenin data özelliğine verdiğimiz özelliklerin değerini belirliyoruz.
8 - top 'un sahneden çıkmasını kontrol eden kod.
9 - top 'a basmayı bıraktığımızda 7'de tanımladığımız onMouseMove fonksiyonunu siliyoruz.
|