pillinetwork hesabınızla giriş yapın.

Flash OYUN Örneği--Part 1

Kendi İmalatım Flash Oyun
adlı yazıdan sonra hazırladığım başka bir oyunu da sizlerle paylaşmak istedim... Bu sefer biraz vurmalı kaçmalı yani hareketli bir oyun... Fazla karışıklık olmasın diye oyunu 3 part halinde yayınlamayı düşünüyorum...

Oyunda bizim kontrol ettiğimiz adam sağdan soldan gelen adamları öldürerek level level devam ediyor..(Level'leri burada anlatmayacağım ,sadece hareket, ateş etme ve düşmanların gelmesi, ateş etmesi...)
1. part hareket etmeyi,adamın hedefe doğru dönmesini ve zıplamayı içeriyor..

\

Bu arada .swf olarak buraya ekleyemedim buraya eklenebiliyor mu bilmiyorum...

Toplamda 5 tane movieclip kullanacağız..
1. movieclip hedef_mc adında resimde gördüğünüz hedef..
2. movieclip yer_mc adındaki yer..
3. movieclip kol_mc adında adamın kollarından biri..
4. movieclip kol2_mc adında adamın diğer kolu.. Kolları hazırlarken dikkat etmeniz gereken nokta movieclip'e çevirirken referans noktası olarak(registiration) sol ortadaki kutucuğu seçmeniz..
5. movieclip ise hero_mc adında adamın geri kalan kısımları(kafa, gövde ve ayaklar), registration noktası ise tam ortası...
kolların yerleri kod ile ayarlı ama eğer adamı daha büyük yaparsanız kodlarda biraz değişiklik yapmanız gerekir...
bendeki adamın boyutları width:13.9 height:45.4
buna yakın değerler alırsanız sorun çıkmaz...

Kodlar 1. frame'e...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
silah = true;
ziplama = false;
g = 0.1;
yspeed = 0;
xspeed = 2;
hedef_mc.startDrag(true);
Mouse.hide();
_root.createEmptyMovieClip("herkes", _root.getNextHighestDepth());
hedef_mc.onEnterFrame = function() {
if (silah) {
mesafex = this._x-kol_mc._x;
mesafey = this._y-kol_mc._y;
aci = Math.atan2(mesafey, mesafex);
kol_mc._rotation = aci*180/Math.PI;
kol2_mc._rotation = aci*180/Math.PI;
}
};
hero_mc.onEnterFrame = function() {
this._y += yspeed;
kol_mc._x = this._x;
kol_mc._y = this._y-5;
kol2_mc._x = this._x;
kol2_mc._y = this._y-7;
if (hedef_mc._x<this._x) {
this._xscale = -100;
} else {
this._xscale = 100;
}
///////////hareket...
if (Key.isDown(Key.RIGHT)) {
this._x += xspeed;
kol_mc._x = this._x;
if (!ziplama) {
this.play();
}
}
if (Key.isDown(Key.LEFT)) {
this._x -= xspeed;
kol2_mc._x = this._x;
if (!ziplama) {
this.play();
}
}
if (Key.isDown(Key.UP) && ziplama == false) {
yspeed = -5;
ziplama = true;
}
if (ziplama) {
yspeed += g;
if (this.hitTest(yer_mc) && yspeed>0) {
ziplama = false;
yspeed = 0;
}
}
};

Herkese kolay gelsin...

Spacer
Spacer
/* SuBirikintisi yazdı. 04 Şubat 2009 11:30. 12 yorum var */

Yorumlar

kaynak dosyasını buradan indirebilirsiniz.. Oyuna revenge(intikam) ismini verdim ama ne için ya da kimden intikam alıyo henüz belli değil:)
http://www.upload.gen.tr/d.php/s4/ikkyeg30/revenge-part1.rar.html
İyi çalışmalar & Kolay Gelsin..

/* Oyun oyna */

bir şey dikatimi çekti.. Ya bu sitede flash'la ilgilenen bi-kaç kişi var ya da anlattıklarım çok demode olmuş şeyler.. Eğer böyleyse, bari ben de kendimi boşuna kasmıyım buraya örnek hazırlayarak...

/* Oyun oyna */

hiç öyle düşünme, harika şeyler anlatıyorsun. zevkle takip ediyorum. ellerine sağlık. fakat; kodları direk vermek yerine, biraz daha anlatarak -ne nedir, ne değildir - geçersen çok daha iyi olucak.

evet bence de devam et, faydalı oluyor takip ediyorum.

Yalnız ben fla uzantılı olanı macromedia flash mxte düzenlemeye çalıştığımda unexpecdet format diyor. Neden acaba. önerdiğiniz bi flash düzenleme programı yazarsanız iyi olur

gönderdiğim .fla'ları sorunsuzca açabilmek için flash 8 kullanmanı tavsiye ederim..
Yorumlarınız için sağolun ben de kendimi duvarlara bir şeyler anlatıyo gibi hissediyordum..
İnşallah kodları açıklayarak da yazarım buraya..
kolay gelsin..

/* Oyun oyna */

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//oyunu tasarlarken ileriye dönük düşünmemiz gerektiğinden adamın elinde silah olup olmadığını kontrolü için silah isimli bir değişken oluştururuz.
silah = true;
ziplama = false;
//g yerçekimini ifade ediyor
g = 0.1;
//ziplama true olunca yspeed'i kullanıcaz.
yspeed = 0;
xspeed = 2;
///hedefin mouse'u takip etmesi ve imlecin görünmez olması(hide)
hedef_mc.startDrag(true);
Mouse.hide();
///herkes isminde bir mc oluşturuyoruz, bu mc mermileri ve düşmanları içeren mc olacak..
_root.createEmptyMovieClip("herkes", _root.getNextHighestDepth());
hedef_mc.onEnterFrame = function() {
///eÄŸer silah aktifse(yani true ise)
if (silah) {
///adamın kollarının silaha göre dönmesi
mesafex = this._x-kol_mc._x;
mesafey = this._y-kol_mc._y;
aci = Math.atan2(mesafey, mesafex);
kol_mc._rotation = aci*180/Math.PI;
kol2_mc._rotation = aci*180/Math.PI;
}
};
hero_mc.onEnterFrame = function() {
this._y += yspeed;
///kolların kodlarla yerine geçmesi ve sürekli hero_mc'ye sabit kalması(takip etmesi)
kol_mc._x = this._x;
kol_mc._y = this._y-5;
kol2_mc._x = this._x;
kol2_mc._y = this._y-7;
///eğer hedef hero_mc'nin soluna gelirse hero_mc diğer tarafa dönecek
if (hedef_mc._x<this._x) {
this._xscale = -100;
} else {
this._xscale = 100;
}
///////////klavye ile hareket...
if (Key.isDown(Key.RIGHT)) {
this._x += xspeed;
kol_mc._x = this._x;
if (!ziplama) {
this.play();
}
}
if (Key.isDown(Key.LEFT)) {
this._x -= xspeed;
kol2_mc._x = this._x;
if (!ziplama) {
this.play();
}
}
if (Key.isDown(Key.UP) && ziplama == false) {
yspeed = -5;
ziplama = true;
}
if (ziplama) {
yspeed += g;
if (this.hitTest(yer_mc) && yspeed>0) {
ziplama = false;
yspeed = 0;
}
}
};

/* Oyun oyna */

şimdilik bu kadar açıklama ekleyebildim, eğer herhangi bir yer hakkında daha fazla detay öğrenmek isterseniz onu da yazarım..
Kolay gelsin...

/* Oyun oyna */

Güzel ben bu yazılım işine yeni girdim bakalım biz nezamanan yazacağız bunları :S

/* Önemli gerekçelere adanmayan her dakika sokaktaki gerekçeler tarafından çalınacaktır. */

İyi şanslar :)

/* Oyun oyna */

bu kodları nası işler hale getiricez acaba.biraz acemiyim

yukarıdaki anlattıklarımı uygulayacaksın(yani dediğim mc'leri oluşturacaksın) sonra kodları kopyala yapıştır.
Ama acemiyim diyosun yani bu kodlar seni biraz aşar.(aslında yeni başlayan birisi için bu kodlar kafa karışıklığından başka bi şey sağlamaz bence)
www.flashdersleri.com
burada daha basit uygulamalar bulabilirsin..
sırf nasıl bi şey olmuş diye bakmak istiyorsan kaynak dosyasını indirebilirsin..

/* Oyun oyna */

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

son yorumlar

arama

pillinetwork