Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
19735
Tıklama
0
Öne Çıkarma
Python ile 2D oyun yapmak
F
11 yıl
Yüzbaşı
Konu Sahibi

Merhaba arkadaşlar, orta düzeyde python biliyorum. arkadaşımla çok güzel bir senaryo yazdık, bende python ile bunu oyuna uyarlamak istiyorum. Python'u olduğu gibi kullandım şuana kadar, hiç bir kütüphane kullanmadım. Pygame varmış, fakat python'un en son sürümü için yok sanırım. çok büyük bir oyun istemiyoruz, 8bit grafiklere sahip üstten bakışlı 2 boyutlu bir oyun. bir nevi hotline miami gibi bakış açısı olacak. acaba bunu nasıl yapabiliriz arkadaşlar, yardımcı olabilir misiniz?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



A
11 yıl
Çavuş

şunu yapmanız lazım:

Vector2{float x;float y;}
Vector3{float x; float y; float z;}
Vector4{ float x; float y; float z; float w;}

Vector.Length()
Vector.Distance(Vector2 b);


Matrix {
float M11,M12,M13,M14,
M21,M22,M23,M24,
M31,M32,M33,M34,
M41,M42,M43,M44
}

Matrix Identity=new Matrix{
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
}
Matrix.Add(Matrix m)
Matrix.Multiply(Matrix m)
Matrix.Determinat()
Matrix.Inverse()
Matrix.CreateRotationZ(float rot) { Matrix m= Matrix.Identity; m.M11=cos(rot) ; m.M12=-sin(rot) ; m.21=sin(rot); m.22=cos(rot); return m;}
Matrix.CreateScale(float x, float y,float z){Matrix m= Matrix.Identity; m.11=x;m.22=y;m.33=z; return m;}
Matrix.CreateTranslation(float x, float y,float z) {Matrix m= Matrix.Identity; m.41=x;m.42=y;m.43=z; return m;}

gibi fonksiyonları tanımlamak.
daha sonra 2d modelleri (2d model = resim) bunları kullanarak çizecek bi yapı oluşturmak.
gameobject insan = new gameobject("insan.jpg");
insan.Matrix=Matrix.CreateScale(0.80, 1,75, 0,35) . Multiply( Matrix.CreateRotation(0)). Multiply(MAtrix.CreateTranslation(insanpos.x,insanpos.x,insanpos.z)))
insan.draw()


Bu mesaja 1 cevap geldi.
F
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: ayhanbilgin

şunu yapmanız lazım:

Vector2{float x;float y;}
Vector3{float x; float y; float z;}
Vector4{ float x; float y; float z; float w;}

Vector.Length()
Vector.Distance(Vector2 b);


Matrix {
float M11,M12,M13,M14,
M21,M22,M23,M24,
M31,M32,M33,M34,
M41,M42,M43,M44
}

Matrix Identity=new Matrix{
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
}
Matrix.Add(Matrix m)
Matrix.Multiply(Matrix m)
Matrix.Determinat()
Matrix.Inverse()
Matrix.CreateRotationZ(float rot) { Matrix m= Matrix.Identity; m.M11=cos(rot) ; m.M12=-sin(rot) ; m.21=sin(rot); m.22=cos(rot); return m;}
Matrix.CreateScale(float x, float y,float z){Matrix m= Matrix.Identity; m.11=x;m.22=y;m.33=z; return m;}
Matrix.CreateTranslation(float x, float y,float z) {Matrix m= Matrix.Identity; m.41=x;m.42=y;m.43=z; return m;}

gibi fonksiyonları tanımlamak.
daha sonra 2d modelleri (2d model = resim) bunları kullanarak çizecek bi yapı oluşturmak.
gameobject insan = new gameobject("insan.jpg");
insan.Matrix=Matrix.CreateScale(0.80, 1,75, 0,35) . Multiply( Matrix.CreateRotation(0)). Multiply(MAtrix.CreateTranslation(insanpos.x,insanpos.x,insanpos.z)))
insan.draw()

Teşekkürler, ben şuan Python 3.4.0 kullanıyorum. Acaba PyGame'in bu versiyonu çıktı mı?


Bu mesaja 1 cevap geldi.
A
11 yıl
Çavuş

quote:

Orijinalden alıntı: Fujita

quote:

Orijinalden alıntı: ayhanbilgin

şunu yapmanız lazım:

Vector2{float x;float y;}
Vector3{float x; float y; float z;}
Vector4{ float x; float y; float z; float w;}

Vector.Length()
Vector.Distance(Vector2 b);


Matrix {
float M11,M12,M13,M14,
M21,M22,M23,M24,
M31,M32,M33,M34,
M41,M42,M43,M44
}

Matrix Identity=new Matrix{
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
}
Matrix.Add(Matrix m)
Matrix.Multiply(Matrix m)
Matrix.Determinat()
Matrix.Inverse()
Matrix.CreateRotationZ(float rot) { Matrix m= Matrix.Identity; m.M11=cos(rot) ; m.M12=-sin(rot) ; m.21=sin(rot); m.22=cos(rot); return m;}
Matrix.CreateScale(float x, float y,float z){Matrix m= Matrix.Identity; m.11=x;m.22=y;m.33=z; return m;}
Matrix.CreateTranslation(float x, float y,float z) {Matrix m= Matrix.Identity; m.41=x;m.42=y;m.43=z; return m;}

gibi fonksiyonları tanımlamak.
daha sonra 2d modelleri (2d model = resim) bunları kullanarak çizecek bi yapı oluşturmak.
gameobject insan = new gameobject("insan.jpg");
insan.Matrix=Matrix.CreateScale(0.80, 1,75, 0,35) . Multiply( Matrix.CreateRotation(0)). Multiply(MAtrix.CreateTranslation(insanpos.x,insanpos.x,insanpos.z)))
insan.draw()

Teşekkürler, ben şuan Python 3.4.0 kullanıyorum. Acaba PyGame'in bu versiyonu çıktı mı?

ben phyton bilmiyorum. ama b temel işleri yaptırmanız lazım.
eger 2d oyun yapacaksanız nesneler zaten resim olacak.
onları çizdirmeniz lazım.



B
11 yıl
Yarbay

quote:

Orijinalden alıntı: Fujita

Merhaba arkadaşlar, orta düzeyde python biliyorum. arkadaşımla çok güzel bir senaryo yazdık, bende python ile bunu oyuna uyarlamak istiyorum. Python'u olduğu gibi kullandım şuana kadar, hiç bir kütüphane kullanmadım. Pygame varmış, fakat python'un en son sürümü için yok sanırım. çok büyük bir oyun istemiyoruz, 8bit grafiklere sahip üstten bakışlı 2 boyutlu bir oyun. bir nevi hotline miami gibi bakış açısı olacak. acaba bunu nasıl yapabiliriz arkadaşlar, yardımcı olabilir misiniz?

seviyen hakkında fazla iyimser olabilirsin. ben henüz başlangıç seviyesindeyim ve bunun için kivy kullanabileceğini biliyorum...


ek: pygame python 3 destekliyormuş:

Does Pygame work with Python 3?

Yes. Pygame 1.9.2 supports Python 3.2 and up. Only the orphaned _movie module (not built by default) does not.

http://www.pygame.org/wiki/FrequentlyAskedQuestions#Does%20Pygame%20work%20with%20Python%203?





< Bu mesaj bu kişi tarafından değiştirildi beyinsis -- 14 Mayıs 2014; 0:22:41 >
Bu mesaja 1 cevap geldi.
F
11 yıl
Yüzbaşı
Konu Sahibi

Python'u internetim olmadan öğrendim kitaptan. O yüzden kivy'i, pygame'i yalnızca isim olarak duydum.




Bu mesajda bahsedilenler: @beyinsis
J
7 yıl
Er

sadece varsayılan python kodlarıyla yazılmış bir oyun örneği istersen: Dead&Alive





< Bu mesaj bu kişi tarafından değiştirildi Jundullah -- 26 Aralık 2018; 18:5:54 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.