Oyun geliştirmeye online gelişiyorum. Çevrimiçi bir FPS oyunu yapmaya çalışıyorum ve sadece karakterimi güncellemem gereken noktaya geldim. Sadece bir çizim ve güncelleme işlevini kullanarak kodumu basit tutmaya çalışıyorum. html yükler, ben yürütme zaman hem:Javascript güncelleştirme işlevleri
<body onload='DRAW(); UPDATE();'>
beraberlik işlevi ekranına oyuncu çeker (? Bu gerekli mi) ve güncelleme karakteri taşımak için bir tuşa basma için kontrol gerekiyordu. Ben kullanarak komut dosyası güncelleme yapmaya çalışıyorum bu:
function UPDATE()
{
update = setInterval(UPDATE, 60);
}
ve bildiğim için
, bu iyi çalışıyor ben siteyi test etmek kullanın benim online IDE (c9.io) 'de denemek ve kod düzenle zaman çünkü site çalışırken donuyor. Ayrıca, drawListeners öğesini draw işlevinde arıyorum. (Ben aşağı bir anahtar her kare için test etmek istiyorum bu doğru mi olur?)function DRAW()
{
window.addEventListener('keydown', function (e) {
keys.keys = (keys.keys || []);
keys.keys[e.keyCode] = true;
});
window.addEventListener('keyup', function (e){
keys.keys[e.keyCode] = false;
});
}
Benim sorulara
şunlardır:bir komut dosyası güncellemesi her çerçeve yapmak için daha kolay bir yolu var mı?
Bir JavaScript eklentisi var mı (Three.js gibi) bunu daha kolay geliştirmek için kullanabilir miyim?
Herhangi bir bilgi büyük beğeni topluyor.
DRAW() yalnızca (bildiğim kadarıyla) HTML
kısmında kez arayarak edilmelidir bakarak başlayabilir setInterval hakkında bilgi için teşekkürler. Düştüğünü biliyordum, nedenini anlayamadım. –@TaylorBrown makalesini bir nükleer zincir reaksiyonuna eşdeğer olarak düşüneceğim. Sadece 960 ms için koştuktan sonra, zaten paralel olarak çalışan 65536 aralığınız var ve her 60 saniyede iki katına çıkmaya devam ediyor. Bilgisayarınız bunu kaldıramıyor ve tarayıcı çöküyor. – dannyjolie
İyi bir benzerlik, şimdi daha mantıklı. –