Beni şaşırtan bir şey var ve bir platformcuya 'sahte dürtü' atlamayı nasıl uygulayacağınız. Ne hakkında konuştuğumu bilmiyorsanız, Mario, Kirby ve Cave Story'den Alıntıyı düşünün. Onların ortak noktaları ne? Atlamanızın yüksekliği, atlama düğmesini ne kadar basılı tuttuğunuza göre belirlenir.
Bu karakterin 'dürtülerinin' gerçek fizikte olduğu gibi sıçramalarından önce değil, havada iken yapıldığını bilmek - yani, parmağınızı maksimum yüksekliğin ortasında çok iyi kaldırabilirsiniz ve onunla tam durak arasındaki mesafeyi azaltma; Bu yüzden sadece bir hop için dokunup uzun bir sıçrama için tutabilirsiniz -, onların trajedilerini yay olarak nasıl korudukları ile büyüleniyorum.
Mevcut uygulamam şu şekilde çalışıyor:
Atlama düğmesine basılırken, yerçekimi kapatılır ve avatarın Y koordinatı, yerçekiminin sabit değeri tarafından azaltılır. Örneğin, işler işaret başına Z birimine düşerse, işaret başına Z birimini yükseltir.
Düğme bırakıldığında veya sınıra ulaşıldığında, avatar hızı 0'a ulaşıncaya kadar X birimini kaplayacak bir miktarda azalır; Bir kez, hızı yerçekimi ile eşleşene kadar hızlanır - örneğe bağlı kalarak, hala X birimlerini kaplarken 0'dan Z birimine / kene hızlandığını söyleyebilirim.
Bununla birlikte, bu uygulama atlamaları çok çapraz hale getirir ve avatarın hızı yerçekiminden daha hızlı olmadığı sürece, mevcut projemde çok hızlı olur (kene başına yaklaşık 4 piksel hareket eder ve kene başına yerçekimi 10 pikseldir, 40FPS'lik bir kare hızı), aynı zamanda yataydan daha dikey hale getirir. Platformculara aşina olanlar, karakterin arkının zıpladığını, oyunun yerçekimi kadar hızlı olmasalar bile neredeyse her zaman daha fazla zıplamalarına izin verdiğini ve doğru oynanmazsa, kendini kanıtladığını fark edeceklerdi. çok sezgisel. Bunu biliyorum çünkü uygulamamın çok can sıkıcı olduğunu kanıtlayabilirim.
Hiç kimse benzer mekaniği denedi ve hatta başarılı oldu mu? Bu tür bir platformcu zıplamasının arkasında ne olduğunu bilmek istiyorum. Daha önce bu konuda herhangi bir deneyiminiz olmadıysa ve bir şans vermek istiyorsanız, lütfen doğru yolda olmadıkça açıkladığım uygulamayı düzeltmeye veya geliştirmeye çalışmayın - çözümünüzü kaşımak. Yerçekimi, fizik ya da ne olursa olsun umursamıyorum, bu sahte dürtülerin nasıl çalıştığını gösterdiği sürece işi yapar.
Ayrıca, sunumunun dile özgü bir kodlamadan kaçınmasını istiyorum; bize bir C ++ örneği veya Delphi paylaşmak gibi ... Projem için XNA çerçevesini kullandığım ve C # şeyler sakıncası olmaz gibi, başkalarının kodunu okumak için çok sabrım yok ve ben diğer dillerin bazı oyun geliştiricileri burada elde ettiklerimizle ilgilenecekler, bu yüzden sözde kodlara bağlı kalmayın.
Önceden teşekkürler.