Gerçek soruya cevap (Bir oyun döngüsünün ayrı bir iş parçacığında olması gerekiyor mu):
İnsanların genellikle ayrı bir iş parçacığı kullanmayı önermelerinin nedeni, yoğun işlemenin kullanıcı arabirimi etkileşimine müdahale etmesini istememesidir. Ayrı bir iş parçacığı için gerekli olup olmadığını söyleyebilir teksin senin oyun. Mevcut tasarımınızdaki ana oyun döngüsünün kullanıcı arayüzünün tepki süresine müdahale edip etmediği tamamen motora ve çerçeveye bağlıdır. Aksi düşünmek için bir nedeniniz olmadığı sürece (küçük projelerde) genellikle olmayacağını varsaydınız.
Kodu ayrı iş parçacıklarında tutmanın bir başka nedeni, kodu modüler ve basit tutmaktır. İlişkili olmayan iki kod parçasının birbirine karıştırılması, kodun uzun vadede daha az okunabilir ve korunabilir olmasına neden olabilir.
Bir oyun döngüsünün kendi ayrı iş parçacığında çalışması gerekiyor mu? Muhtemelen. Yanıt süresi veya koduyla ilgili bir sorun varsa ve ağır işlemden bağımsız olarak yanıtlamak için birden fazla kullanıcı arabirimine ihtiyacınız varsa veya kodu tasarım nedenleriyle aynı anda gerçekleşen belirli görevlere bölmek istiyorsanız, bununla devam edin. Ancak, gelişmiş bir programlama uygulaması olarak kabul edilir .
Basit ama belki de göstermesi gereken harika bir örnek, iki kişilik bir oyundur. Bir sınıfın kullanıcı girdisini işleyen ve oyuncu karakteri örneğindeki durum değişikliklerine dönüştüren iki örneği çalıştırmak isteyebilirsiniz.
Bazı çerçeveler, ActionScript3.0 gibi sistemin kullanılmasını teşvik eder / gerektirir. Bu durumda döngü kodu normalde OnEnterFrame
saniyede 20-60 veya 120 kez gerçekleşen etkinliğe veya buna benzer bir şeye gider .
Orijinal soruya cevap (Ana döngüye ihtiyacım var mı):
Her şey program sayacına kadar kaynar . Önceden belirlenmiş bir süreden daha fazla çalışacak ve gittikçe kod üretmeyecek bir oyun yapıyorsanız, kullanıcının bilgisayarının zaten işlediği bazı talimatları tekrarlamasını ve muhtemelen neyin değişeceğini bu arada durumdur (oyunun nesnelerinde ve globallerinde saklanan değerler).
Talimatları tekrarlamanız gerektiğini bildiğiniz için, bu görevi tamamlamanın ve aynı talimatları sürekli olarak işlemenin birkaç yolu vardır. Tüm bu yöntemler, program sayacını geçerli talimatlara geri getirmeyi içerir. Kodun tekrarlanmasına neden olan en yaygın kontrol akışı ifadelerine döngüler denir, diğeri goto
modern kodda nadiren kullanılan ve bu durumda benzer bir etkiye sahip olan ifadedir (tamamen sizinle ilgili değildir).
Önceki sorunuzu cevaplamak için bir döngüye mi ihtiyacınız var? Evet yaparsın.