Doğru sayı kombinasyonunun oyuncuya düzeyi geçmesine yardımcı olacak bir efekt verdiği bir oyun yapmaya çalışıyorum. Bunu yapmak için planım, tuşa basıldığını test edecek ifadeler kullanıyor ve değişkenleri buna göre değiştiriyordu. Bu çok basit olmalı, ancak benim girişimlerim tatmin edici bir şekilde başarısız oldu, ancak bunu yeterince açıklayan bir sayfa bulamıyorum. Yani, javascript'te if ifadesi için bir sayı tuşunun basıncını nasıl algılayabileceğimi bilen var mı?If ifadesi için bir sayı tuşunun basılmasının algılanması
cevap
Aradığınız şey belirli bir sayı dizisini girmekse, bir önbellek kullanmanız ve her tuş vuruşu kontrol etmeniz gerekir. İşte aşağıda bir örnek. Bu sırayla 1, sonra 2, sonra 3 istediğimi belirttim. Yanlış yapılması diziyi sıfırlar. Ayrıca tamamlandığında, bu durumda da sıfırlanır.
Bunu deneyin. Çalıştırın ve 1'e, sonra 2'ye sonra 3'e basın. Sıralamayı kesmek, yeniden başlatmanız gerektiği anlamına gelir.
//press 1, then 2 then 3
var code = [49, 50, 51]
var cache = [];
function checkCode(eve) {
var keycode = eve.keyCode || eve.which;
if(keycode === cache.shift()){
if(!cache.length){
//resets if you did it. do not include if you want once.
replenishCache();
//do whatever you do here.
doThing();
}
} else {
replenishCache();
}
}
function doThing(){
alert('sequence entered');
}
function replenishCache(){
cache = code.slice(0);
}
replenishCache();
window.addEventListener('keypress', checkCode, false);
Bu kod, bu çerçeve veya modül veya desen bağlamında tamamen olmadığını ekleyecektir. Göstermek için pencereye bir olay ekledim. Bunu yaptığınız her şeye nasıl taşıyacağınızı düşünmeniz gerekecek. Örneğin, bu durumda sadece daha kapsamlı bir global işlevi çağırmak yerine, doThing
bu durumda muhtemelen bunu bir çeşit eklentiye veya modüle geçirmelisiniz. Karakter kodları dizisi ile aynı şey.
- 1. if ifadesi
- 2. If ifadesi döngü?
- 3. g ifadesi IF deyiminde
- 4. bash: If ifadesi
- 5. Çoklu atamaları if-ifadesi
- 6. Nasıl yapmak için daha sonra else if if (güzel bir şekilde) bir ifadesi olarak kontrol yapısı
- 7. Javascript .change işlevi içinde if ifadesi değişiyor
- 8. if-let ifadesi isteğe bağlı açılmıyor
- 9. SSRS Çok Sayıda Sayımlarda Sayımlar IF İfadesi
- 10. php dizisi dereference ifadesinde if ifadesi
- 11. uboot'ta "if" ve karşılaştırma ifadesi nasıl yapılır?
- 12. Bir değerin "if" ifadesi yerine "case" ifadesi olan bir aralıkta olduğunu nasıl test edebilirim?
- 13. ifadesi, bir sabit + için değerlendirilmedi ++
- 14. TürScript'te genel türün algılanması
- 15. Ctrl- tuşunun tuş takımını ayarlayamıyor;
- 16. Lua - aynı değişken üzerinde iki koşullu if ifadesi var mı?
- 17. USB güç durumunun algılanması
- 18. Android'de görüntü tipinin algılanması
- 19. Bir hareketli grafiğin kesişen ışınlarının algılanması
- 20. "if" ifadesi için intelliJ fikir ekranı katlanır geçişlerini yapmanın bir yolu var mı?
- 21. C# ifadesi #if DEBUG içinde değil, ancak montajda değil
- 22. Swift için Çoklu Koşullar 'If' Bildirimi?
- 23. Python'da simetrilerin algılanması
- 24. Seçici imzasının algılanması
- 25. Son ok tuşunun küfürler kullanılarak nasıl basılır?
- 26. Bir kullanıcı parmağının boyutunun dokunuşta algılanması
- 27. Linux'ta IP adresinde bir değişikliğin algılanması
- 28. Döngü ifadesi için garip
- 29. Arka plan vim'inin algılanması: sh
- 30. Mac'te tam ekran uygulamalarının algılanması
Şu ana kadar kullandığınız kodu yükleyebilir misiniz? çalışan bir şey var mı? – JordanHendrix
Bu kütüphane başlamak için iyi bir yer olabilir, ya da belki de kaldıraç - https://github.com/namuol/cheet.js – dmoo
hiç bakmadın mı? Az önce 50 soru sordum: http://stackoverflow.com/questions/2297524/javascript-jquery-keypress-logging – JordanHendrix