Skip to main content

Forumdervis W.

Beta
-

ForumDervis - Genel Forum Sitesi'a hoş geldiniz!

Merhaba, Ziyaretçi! Ben Mini; size yardımcı olabilmek için buradayım. İçerik sağlayıcı paylaşım sitemize eriştiğiniz için çok mutluyuz. Giriş yaparak, birbirinden güzel içeriklerimizden kolaylıkla faydalanabilirsiniz. Kayıtlı değilseniz, hemen ücretsiz ve kolay bir şekilde kayıt olabilirsiniz. Sizi de ailemize bekliyoruz.

(Giriş yapmamış kullanıcılar tarafından görüntülenir.)

Özel mesaj engelinizi kaldırmak için tıklayın ;

Game Maker 3D FPS Yapımı

2174
992
0
22-01-2014, Saat: 10:48 PM
#1
Çevrimdışı
ForumDervisden Ben Shaq* Konuya geçmeden Önce Selamun Aleyküm // Aleyküm Selam

Merhaba.Bugün sizlere internetten bulduğum önemli bir dersi paylaşayım dedim.

Öncelikle gene mouse sabitleme sistemini kullanıcağız.(bknz:tps)

Biz zdir (y) eksenini ve direction (z) eksenini kullanıcağız diğer x ekseni ile teknik açıdan bir işimiz olmıyacak


.
Kamera Objemizde (event ise sürekli tekrar olucağından stepdir.)
direction-=(display_mouse_get_x()-display_get_width()/2)/8;//dir
zdir-=(display_mouse_get_y()-display_get_height()/2)/8;//zdir
display_mouse_set(display_get_width()/2,display_get_height()/2);//sabitleme

// 90 ,-90,... ve katlarında enteresan bir ekran kayması oluyor sanki tds oyunu yapıyormuş gibi kamera yukarıdan baktığı için bu eksenleri komple kısıtladım.

{if zdir > 89 then zdir = 89;}// +-90 da ekran kayması oluyordu onu kısıtladık
{if zdir < -89 then zdir = -89;}

Kamera Objemiz Draw Event

d3d_set_projection(x,y,13,x+cos(direction*pi/180),y-sin(direction*pi/180),13+tan(degtorad(zdir)), 0,0,1); // kamerayı cos,sin ve tan değerlerine baktırdık.



//execute_file("dc.txt") şeklinde kontrol edipte attım ben kodları. Bu yüzden cuk diye oturdu .

//sizede de bu yöntemi tavsiye ederim
d3d_transform_set_identity();// kod kısıtlaması bunun yerine sanırım {} da kullanılabiliyor.
d3d_transform_add_rotation_y(zdir);// zdir e göre y ekseni ayarı
d3d_transform_add_rotation_z(direction);// direction a göre ise kendi etrafındaki dönmesi
d3d_transform_add_translation(x+0.05,y+0.05,z);// model görünüş yeri.
d3d_model_draw(global.model_silah,2.1,2.1,-2,background_get_texture(back_silah));//model ve çıkacağı yer , + kaplaması
d3d_transform_set_identity();

// Kontrol

if keyboard_check(ord('W'))
{
motion_set(direction,2)// ileri
}
if keyboard_check(ord('S'))
{
motion_set(direction,-2)// geri
}
if keyboard_check(ord('D'))
{
x = x + lengthdir_x(2,direction - 90)// x ve y ekseni
y = y + lengthdir_y(2,direction - 90)// sağa
}
if keyboard_check(ord('A'))
{
x = x + lengthdir_x(5/2,direction + 90)// x ve y ekseni
y = y + lengthdir_y(5/2,direction + 90)// sola
}
friction=0.1//sürtünme kuvvetimiz

if mouse_check_button(mb_left)//eğer sola basarsak
{var mermi;//varible yaratsın
mermi=instance_create(obj_kamera.x,obj_kamera.y,ob j_mermi)// bu varible mermi çıkarmaya eşit olsun
mermi.direction=direction+2-random(4)// merminin directionu bizim direction a eşit.
mermi.z=3+1-random(2)// merminin z si 3 ten başlayıp değişsin
mermi.speed=15// mermi hızı

}
Shaq*

Hızlı Menü:

Konuyu Okuyanlar: 1 Ziyaretçi
970x91
buca escort cialis fiyat viagra fiyatı

Forumdervis

Türkiyenin en güncel forum sitesi

Task