XNA a výstřel   zodpovězená otázka

VB.NET, XNA

Zdravím,

dělám hru podle vašich tutorialů s XNA. Zkouším udělat jednoduchou hru s vesmirnou lodí, pohyb už mám udělaný, ale nevím jak udělat výstřeli. Nevím jak udělat aby se "vytvářeli" (spíš vykreslili)...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No, výstřely si je nejlepší uchovávat v nějaké vhodné kolekci, třeba List. Nejlepší je napsat si třídu Vystrel a do ní si uložit pozici výstřelu, rychlost a směr. V metodě Update ty jednotlivé výstřely procházejte a posouvejte s nimi, jakmile někoho zasáhnou, tak je z kolekce vymažte. V metodě Draw pak projděte celou kolekci výstřelů a vykreslete je.

Public Class Vystrel
    Public pos As Vector2   'lepší by bylo použít property, ale pro ilustraci to takhle stačí
    Public speed As Vector2
End Class

Deklarace kolekce:

Dim vystrely As New List(Of Vystrel)

Vytvoření výstřelu funguje takhle:

Dim v As New Vystrel()
v.pos = něco   'nastavit pozici
v.speed = něco   
vystrely.Add(v)

Posouvání střely je jednoduché, vykreslování také:

For Each v As Vystrel In vystrely
  ' vykreslit výstřel, informace o pozici jsou v proměnné v
Next

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback