4 Aralık 2013, ÇARŞAMBA

Tuval Bootcamp 19 - Çarpışma Algılama Oyun Düşman Javascript Vurdu.

Bu egzersiz size JavaScript ile kampüste çarpışma algılama öğrenebilirsiniz Birkaç diğer yararlı taktik çarpışma algılama ile birlikte aktif Bir spesifik tespit nesnelerin birbiriyle temas ve daha sonra bazı programlama Onların çarpışma etkilenen çıkan olacak, bir video oyun programlama senaryosu içine mantığı koyarak en iyi şekilde aynı anda birden fazla nesneleri tespit çarpışmalar göstermek bu temel uygulamada kullanılan tüm kodu Önyükleme kampında önceki tüm egzersiz kodudur bu yüzden karakteri ile kod karakterini açıklamak için gitmiyorum Siz zaten anlıyorum çünkü yapı taşları her şeyi var

uygulanacaktır İlk en ne öğrenme gerektiğini finiş ürünü bir göz atalım nasıl yapmak Uygulama başladığında biz düşman iniyor ve sonra biz onlar sağ ve sol hareket edebilir buraya başlatıcısı var Ben hizaya eğer çok da füz

e ateş ve füze ateş Yeni yangınlar istediğiniz kadar füzeleri ve ben vurduğunuzda Belirli nesneler onlar uzak seferde yok olsun uyuşmuş tüm düşmanları öldürerek bitirmek zaman o seviyede tamamlamak diy

“Ders Kodu: http://www.developphp.com/video/JavaScript/Collision-Detection-Hit-Game-Enemies Oyunlar ve daha fazlası için JavaScript tuval üzerinde nesne çarpışma a...”
Adam Khoury

or tamam biz boş kampüs ile başlıyoruz görebilirsiniz Yapmam ilk şey vücut kazaları gidiyor Biraz HTML var nasıl Bir gelişme üç düğme ve daha sonra biz bir durum öğesi var sadece Tamam bize bazı durum şimdi yapmamız gereken onun olacak çıkış iş için geçerlidir olduğunu açıklama edeceğim ilk şey Bizim CTX nesne olduğunu kurduktan sonra sadece kampüs olsun bunun altında iki değişken ve doğrudan kampüs yüksekliği ile Ben o adında bir dizi var bir değişken oluşturmak edi

Tuval Bootcamp 19 - Çarpışma Algılama Oyun Düşman Javascript Vurdu. Resim 1 Tuval Bootcamp 19 - Çarpışma Algılama Oyun Düşman Javascript Vurdu. Resim 2 Tuval Bootcamp 19 - Çarpışma Algılama Oyun Düşman Javascript Vurdu. Resim 3 Tuval Bootcamp 19 - Çarpışma Algılama Oyun Düşman Javascript Vurdu. Resim 4

yorum düşman ve kargaşa içinde küçük bir Jason nesneleri bir demet Ben sensin yapacağım her düşman için kimse bu düşman dizinin üzerinde sadece döngü Onları başlatıcısı ekrana aşağı dökülen gelmek için daha biz sadece adında bir fonksiyon içine koymak yapabilirsiniz düşman böylece fonksiyon düşmanları hale demek kılmak ve sonra biz biraz var döngü O düşmanın dizinin uzunluğu boyunca çalışır ve her küçük Jason nesne vardı Bu düşman temsil O hale olabilir bu zavallı biraz içinde erişilen alacak kampüse sen ne burada ne yerine gidiyorum göreb

ilirsiniz X NY içinde olan nesnelerin her biri için belirlenen değerlerde yüksekliği ama ben Y konumu artırılmıyor ediyorum .5 tarafından hangi yarım piksel Yerel Her kare piksel aşağı ekrana sahip Ben etkilenen olsun nasıl onları ekranı aşağı gelmiyor Şimdi teslim düşman fonksiyonu içinde kapalı ateş olacak animasyon loop ve animasyonlu etkisi olsun nasıl ve şimdi biz koyabilirsiniz aşağı İçine birkaç satır vardı koşmak ve yerinde animasyon loop ve yapacağız o bize izin olduğunu animasyonlu moda düşmanları işlemek Ekranı aşağı tarama bizim animasyon aralığını görebilir kaydetmek ve favori işlemek için 30 milisaniye otobüs kontrolüne ayarlanır Tarayıcı size yapmamız gereken tüm ilave edilir şimdi istediğiniz efekti elde görüyoruz fırlatıcı ve daha sonra başlatıcısı füzeleri vuruyor yapmak ve biz de koymak zorunda Bunlar için dinleyici sadece bir an okay şerait içinde yapacağız düğmeler fonksiyonu altında yapacağız koymak konum düşmanları hale ve bir başlatıcısı temsil itiraz ve ben yerine o pop olacak ve ben gerçekten hızlı tüm kod anlatacağım Elimizdeki beri yeni başlatıcısı hazır nesne gidiş ama launcher yöntemi hale Bizim animasyon döngü için yöntemlerden birini görebilirsiniz Bana tüm kodu anlatalım başlatıcısı nesne isabet algılamak başlatıcısı nesnesi oluşturur, bu fonksiyon başlatıcısı içinde İlk biz başlatıcısı için bazı özelliklerini belirtmek Sonra biz bir yöntemdir hale gelmiş yöntemleri belirlemek biz de 282 de y konumu yakın aşağı yüzden set yöntemi tespit bir hit var kampüs alt sonra fırlatıcı de fuar sıfırlama Biz elli ve yüksekliği ile bir ver kampüs merkezli elli daha sonra da biz bunu yönü kısa DIR adında bir özellik vermek Bu hangi yöne izlemek ve gitmek için kontrol davranıyor sağlar kullanıcı tarafından daha sonra bu olduğunu BG neden turuncu demek ve daha sonra bu nokta füzeler boş dizi eşittir ve füzeler Işınları da biraz Jason verdiğimiz bu nesneleri Kullanıcı yangın füze düğmesine vurur füzeler diziye bu yüzden sadece boş bir dizi olarak başlar ve bunların füze düğmesine ateş zaman biz sadece ekranda olması gerekir gibi birçok küçük füzeler paketi Onların füzeleri diziye tamam şimdi bu değil hale yöntem olduğu hareketin bir sürü çekim mantığı bu yüzden biz bu hale yapmak ilk şey oluşabilir işlev Bu yönde sola eşit ise biz kullanımının baskı yapıyor anlamına gelir söylüyorlar Sol düğme Ben 5 bu nokta X eksi eşit olmak istiyorum o bu eğer başka kampüste sol yöne gitmek demektir yön sağ eşittir Kullanıcı hamlesi sağ düğmesine basarak filmi ise bunu söylemek o X artı doğru yönde hareket etmek için beş eşittir sonra bizim başlatıcısı bir arka plan vermek Bu durumda turuncu Oakville tarzı ve sonra biz kampüs üzerine yerleştirin ve başlatıcısı olduğunu unutmayın yöntemi hale nokta sizin animasyon döngü içinde kapalı ateş var biridir bu yüzden sürekli bir sürü kapalı ateş gidiyor ve her zaman olacak hit algılama ve hareket dinleme var ya Texan hareketlerini vurmak için hazır tepki füzelerin yangın vardı bu yüzden ve füzeleri ve tüm bu şeyleri ateş yapacağım füzeler dizi üzerinde döngü için uzunluk şimdi füzeler diziye bütün füzeleri almak Kullanıcı yangın butonu düğmesine bastığında Onlar ateş düğmesine bastığınızda bir katıksız aşağı şimdi buraya yangın düğmesi var Biz yapacağız tüm füzeleri olduğu yeni bir küçük nesne itin biz füzelerin üzerinde döngü işte yeni füze temsil edeceğiz olduğu bir sadece ekrana bunları işlemek için ve füzeler gelen vurulma beri alt ekran yukarı biz sadece her füze ve eksi alabilir vermek için kendi y pozisyonuna 5 eşittir Ben yukarı hareketi render oluyor istiyoruz ve onun biz de istiyoruz yukarı hareketi vardır algılamak vurmak Her düşmana karşı her füze için ve ben bu yöntem sadece bir an içinde tespit hit anlatacağım Sonraki kod biraz füze kampüs geçmiş giderse görmek için sınırları Eğer görmek için kaldırmak istiyorsanız füze neden pozisyon olduğunu 0 daha az veya eşit o zaman bunu splice gidiyoruz olduğunu füzeleri yarış artık bir istemiyoruz Varlığından çünkü dışarı füzelerin verilerin demet kampüs dışında Belleği alınmış biliyorum Bir program grafik kaynakları ya da her türlü hogging vardır olmak ya da belki öyle değil mi o kameralar dışında ama yine de ister misin yaparsanız onlar kampüste yoktur emin o sadece hayır artık bu şeyleri kaldırmak onlara sahip kullanmak hala program olması hala onları hareket etmek zorunda değilsiniz biz yerlerde bu koymak tek nedeni bu yüzden yabancı görünür olmayan boşluk o kampüste geçmiş sınırlarını giderse sadece çok füze kaldırıldı bu kod biraz düzeyini biten içindir Oğlan derseniz artık düşman var ki 90.000 $ daha düşman göre Eğer diyor bazı Teksaslı ekran animasyon aralığını koymak temizleyebildiğini ve daha sonra burada altında size koymak üstünde o seviyede ne bir sonraki seviyeye yüklemek istediğiniz çağrı veya vurmak için şimdi yapmak istediğiniz ne olursa olsun yöntemi tespit İki parametre geçiyordu İlk parametre füze Söz ve füzeler içinde füzeler endeksinde olduğu bir bu füzeler dizi içinde bu şekilde yaşıyor ne pozisyonunu yaşıyor nerede Biz gerektiğinde dışarı splice yapabilirsiniz Eğer füze kurtulmak istediğiniz bir düşman vurmak olur istemediğiniz füze düşman geçiyor tutmak için İstediğiniz sürece o zaman füze kaldırmak zorunda değilsiniz ama sadece seçti bir düşman bu şekilde çarptığında füze kaldırmak için düşman patlar ve Füze patlar artık mantık tespit vurmak için aracı var düşmanları dizi uzunluğu boyunca döngü için biz ekranda veya her her düşman için ruh Hala düşman o düşmanın dizisi içinde hayatta yani ne ben sadece her E dahilinde seçildi yaptım döngü bizim hit algılama değerlendirme içinde kolay şeyler yapmak görünüm içinde her düşmana bu temsil ediyor E şimdi burada bizim isabet benzer mantığı tespit ediyor Fare mantığına dokunmatik algılama vurmak parmak dokunmatik biz egzersiz dün mantığı tespit vurmak Burada ne kadar 18 görmek için bir dikdörtgen sınırlarını kuruyor füze aynı alanda ise füze nokta eğer düşman herhangi İMKB'ye olduğu gibi fuar artı füze stoku ile düşman Aralık fuar daha büyük ya da eşit ve füzeler fuar daha az veya eşit nokta düşmanları bu fuar artı düşmanları o ve sonra yatay boşluk ilgilenir Daha sonra dikey boşluk biz söylemek istiyorum ve ve nokta y konumu daha büyük ya da eşittir Düşmanın nokta y konumu ve füzeler dışında pozisyon daha az neden ya da benim pozisyonda dışarı düşmanları artı yüksekliği de düşmanları eşit böylece tüm bu matematik çalıştırmak değil yapacağız size vermek Eğer füze herhangi bir piksel var söyler dökümhane ya ben piksel herhangi biriyle temas etmiş bulunmaktasınız Sadece istediğim düşman denkleminin çeşit yapmak vardır Bu, herhangi bir piksel, eğer ben edeceğiz füze görmenizi sağlar Başka piksel ile temas gelmiş düşmanları ve yolu kod her füze kurulur şu ekranda yirmi füze var olsa bile ateş Onlar tüm düşmanları tespit isabet ulaşmasının bu yüzden herhangi bir düşmanları vurmak olanların herhangi istediğimiz sonuçları elde edecek ve tüm kod tüm biz altında yapmak başlatıcısı nesnesi biz kurtarmak olduğunu bizim başlatıcısı Eagles yeni başlatıcısı nesne elimizde bu şekilde Bir nesneyi başlatmak yeni bir örneğini başvuru ve biz başlatıcısı şüphe işlemek demek Bir bar animasyon işlevi içinde aşağı şimdi elimizde tüm yapmak için düğmeye konur dinleyici Bizim HTML o küçük düğmeleri için olay dinleyicileri Tamam bir çalışma uygulaması var bu yüzden ben animasyon aralığında altında olacak gidiyorum Ben animasyon aralığını nereye koyduğunuzu hangi bir uygulama ile son satırı temelde ve biz olacak pop konum tüm düğmeler için dinleyiciler yüzden bizim sol tuşuna kurtarmak için aynısını yapacağız burada sayfada aşağı sol düğme eşittir doğru ve yangın butonu biz bu öğelerin her üç nesne başvurularını var Bana düğmeye biz mousedown için bir olay dinleyicisi sol demek Kullanıcı mousedown bastığında ve biz sadece başlatıcısı almak ve sola yön özelliği eşit hale Bu şekilde biz bir kullanım fare kadar olduğundan emin olmak için, sonra sola hareketli başlayın Onlar gidelim sol butonuna love it biz yön eşit hale hiçbir şey uzakta programlamak için bir akıllı yolu da artık hareket değil senin Klavye hareketi Klavye kontrolleri için video oyunları hareketi sağlamak için gidiyoruz Eğer sadece bu klavye olayları için dinleyiciler yön ayarlayabilirsiniz tuşları mazlum zaman yön dedi ve sonra kullanıcıyı anahtar Lego upsman anahtar dedi onlara hiçbir şey yönü size hareketi biz de benzer bir şey yapmak sağ düğme için hemen duracak biz doğru yönde kararlı solda olsa bu sefer yapmak anemon bir fare kullanmak biz yön yapmak kadar hiçbir şey tekrar uzakta hareket şimdi burada durur biraz önemli bir parçası Kullanıcı yangın düğmesini vurur yangın butonu yeni bir küçük Jason nesne itme ekran üzerinde füze dizi yol içine kadar küçük füzeleri olabilir Orada olması gerekiyor ve biz onların konumunu işleyebilir ve küçük özellikleri olsa da biz her küçük bağımsız gerektiğini füze Onları işlemek için kolay biz paketlenir küçük Jason nesneleri içine koymak bir diziye Biz böylece dizinin bu yangın butonu her zaman üzerinde döngü kolayca yapabilirsiniz preslenmiş Füzeler bir vardır içine yapacaksın yeni bir füze paketi Her füze alma X neden uzak ve yükseklik ve arka plan size daha fazla alabilirsiniz istediğiniz özellikleri verilen Eğer olması gerekir özel özellikleri ve nesnenin herhangi bir biz ön füze ateş çıkarmak Biz çalışan bir uygulama varsa ve görmek Tamam biz füzeleri ateş ediyorlar, biz düşman imha burada sol hareket izin Ben füze ben buncha füze değilim yani ne kadar çok füzeler, biz onlar ekran çıktığınızda onlar go away ateş kontör Ben olsun biz şimdi çalışan bir uygulama var tamam ben alıyorum yolu füze direkt çıkıp Orada benim küçük başlatıcısı merkezi Biz başlatıcısı dok eşit X özelliğini ayarlayarak konum olduğunu X artı süreleri ile başlatıcısı nokta 0,5 ile başlatıcısı almak için ikiye bölünür hangi ikiye bölünür ve fırlatma o sergi eklendi Sonra sana haykıracak ölü merkez vereceğim nerede başlatıcısı için göreceli ölü merkez veya gemi sadece fırlatma y dot basitçe eşit olabilir neden pozisyonu üst çıkıp yapmak o bir füze ve yüksekliği Troy biraz füzeler forreal dedi ve temelde bu gerçekten iyi bir var ben şimdi kod takip edilir nasıl anlayışı Bu diziler kötü kontroller için herhangi çarpışmalar için tespit İslam Moor eklemeler bunu daha eksiksiz bir hale getirmek için bu kodu ekleyebilirsiniz oyun Sadece orada oturmak ve böylece tamamlar üzerine sözler için zaman koyarsan Biz yapmanıza olanak sağlar böyle bir şekilde yapılır ve çarpışma algılama üzerinde farklı şeyler bir sürü için çarpışmalar algılamak Birçok nesne aynı anda aynı anda kampüs.

Açıklama

Ders Kodu: http://www.developphp.com/video/JavaScript/Collision-Detection-Hit-Game-Enemies Oyunlar ve daha fazlası için JavaScript tuval üzerinde nesne çarpışma algılama öğrenin. Ile birlikte diğer birkaç kullanışlı taktik dahil. Çarpışma algılama belirli nesnelerin birbiriyle temas ettiğinde tespit ve o çarpışma bazı sonuçlanan etkisi programlama eylemidir. Biz en iyi aynı anda birden fazla nesneleri tespit çarpışmalar göstermek için bir video oyunu programlama senaryosu içine mantığı koyarak olacak. Temel uygulamada kullanılan kod önceki tüm egzersizleri tüm kodudur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

Adam Khoury

Adam Khoury

Profesyonel bir online bedava gibi kod ve tasarım öğrenin. JavaScript, PHP, SQL, HTML, CSS, ActionScript ve daha fazlası gibi usta geliştirme teknolojileri. Tüm videoları http://www.developphp.com daha iyi organize olan

YORUMLAR



9.5/10

  • 83
    Olumlu
  • 4
    Olumsuz
  • 24
    Yorum
  • 12858
    Gösterim

SPONSOR VİDEO

Rastgele Yazarlar

  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007

ANKET



Bu sayfa işinize yaradı mı?