Game Maker 8.1 Åžarjor Değiştirme örneği

      Game Maker 8.1 Åžarjor Değiştirme örneği

      Herkeze merhabalar,

      Tasarlamış olduğum, Game Maker'da kullanılan şarjor sisteminin kodlarını paylaşacağım.

      Ne işe yarar?

      - Counter Skrite'ta kullanılan bir sistemdir. Mesela silahtaki mermi 5 diyelim. Silahımızın şarjor kapasitesi ise 7 diyelim, R tuşuna bastığınızda merminiz 2 artacak, şarjorunuz 2 düşecektir. Kodu gelişmiş şekliyle sunuyorum...

      obj_silah adında obje oluşturun. [Create => Execute Code]

      Source Code

      1. global.mermi=30
      2. global.sarjor=90


      [Step => Execute Code]

      Source Code

      1. if global.mermi<0 and global.sarjor>0
      2. {
      3. global.sarjor-=7
      4. global.mermi=7
      5. }
      6. if global.sarjor<0
      7. {
      8. global.sarjor=0
      9. canshoot=false
      10. }
      11. if global.mermi<0 and global.sarjor<0
      12. {
      13. global.sarjor=0
      14. global.mermi=0
      15. }
      16. if global.mermi<0
      17. {
      18. global.mermi=0
      19. }
      20. if global.mermi>7
      21. {
      22. global.mermi=7
      23. }
      24. if global.sarjor>35
      25. {
      26. global.sarjor=35
      27. }


      [Key Press R => Execute Code]

      Source Code

      1. if global.mermi<1
      2. {
      3. global.sarjor-=7
      4. global.mermi=7
      5. }
      6. if global.mermi<2
      7. {
      8. global.sarjor-=6
      9. global.mermi=7
      10. }
      11. if global.mermi<3
      12. {
      13. global.sarjor-=5
      14. global.mermi=7
      15. }
      16. if global.mermi<4
      17. {
      18. global.sarjor-=4
      19. global.mermi=7
      20. }
      21. if global.mermi<5
      22. {
      23. global.sarjor-=3
      24. global.mermi=7
      25. }
      26. if global.mermi<6
      27. {
      28. global.sarjor-=2
      29. global.mermi=7
      30. }
      31. if global.mermi<7
      32. {
      33. global.sarjor-=1
      34. global.mermi=7
      35. }


      [Draw => Execute Code]

      Source Code

      1. draw_text (view_xview+1100,view_yview+200,global.mermi)
      2. draw_text (view_xview+1110,view_yview+200," / "+string(global.sarjor))


      NOT:Alıntıdır.
      http://forum.game-turk.esy.es/showthread.php?tid=2

      (view_xview+1100,view_yview+200 Altını çizdiğim kısımlarını oyun ekranınıza göre ayarlayınız. Benim Örnek verdiğim Ekran Boyutu 1280x1024'tür.)

      Kendi sitemde paylaştım. O yüzden alıntıdır diye yazdım. Bana ait bir kodlama :)

      Post was edited 1 time, last by “Bay_Crazyboy” ().

      faydalı konu :D ama draw eventindeki kodlar karışmış düzelt istersen :D
      derslerime ve oyunlarıma alttaki linkten ulaşabilirsiniz.
      Game Warrior
      keyif :D

      ---DirectionShooter Serisi---
      DirectionShooter /Vol1:SadeceSaldır\ (%100)
      DirectionShooter /Vol2:TetikteKal\ (%100)
      DirectionShooter /Vol3:PesEtme\ (%62)
      DirectionShooter /Vol4:Bitirİşini\ (%0)
      DirectionShooter /Multiplayer\ (%0)
      Bir kod bu kadar kötü yazılabilir. Mermi sayılarını niye tek tek yazıp kontrol ettiniz ki performans kaybı ve kod fazlalığına neden olur. Onun yerine local değişkenler kullanıp for döngüsüyle yazsaydınız 1-2 satırda bu bütün kodu yazmış olurdunuz.

      Bay_Crazyboy wrote:

      Game Maker'da öyle birşey var mı hatırlamıyorum :)


      Bunun varı yoğu olurmuymuş hiç ? Bu bir kodlama dili. Kodlama da if (Eğer) , for (döngü) ler mevcut. For döngüsü kurmuş olsa 50 satır yerine 10 satırda iş bitecek.Bu uzun yolu tercih etmiş tek tek sayıyor.Sistemi çok kastırır zararlıdır.Ve ileride bi değişiklik yapmak istese 1 saat yerine 5 saat uğraşacak. :)

      Post was edited 2 times, last by “mord4ck” ().

      Eğer Åžarjor değiştirme diye ararsan tabi ki bulamazsın. En basit programcı yeteneklerine sahip olan bir insan bile bu algoritmayı 5-10 dk da kendi çıkarabilir. Eğer bu işi yapamıyorsan, oyun programcılığını bırak ve temel yazılım dilleri üstüne çalış.