XNA 4.0: Skjuta i musens riktning?

Permalänk
Medlem

XNA 4.0: Skjuta i musens riktning?

Hej

Jag håller på med ett spel i XNA 4.0 och behöver lite hjälp.

Jag har en arm som roterar och vill skuta i rätt position. Så om armen pekar uppåt ska jag skuta uppåt osv.

Men har kört fast nu då jag inte kan ge rätt hastighet beroende på vart musen är. Jag har en rotation på armen så i ett visst läge ska den skjuta i den positionen.

har ni något förslag på hur man kan göra detta? Har lite bråttom därför dålig beskrivning. Men ge gärna förslag och eventuella frågor om ni vill veta mer, och få lite kod.

Visa signatur

ATX: Intel Core i5 4690k | Asus Z97-A | MSI R9 390 8GB | 2x Corsair DDR3 2133Mhz | Crucial BX480Gb | Corsair TX650W | Fractal Design Define R4
mITX: Intel Core i3 6100 | Asus B150I | 2x8Gb Corsair DDR4 2133Mhz | Samsung 850 Evo 500GB | Cooler Master V750 | Fractal Design Define Nano S

Permalänk
Medlem

Om du tänker armen som en linje, linjen har en start och ett slut, då kan du rita den som en triangel, dvs x, y samt hypotenusan h som är din linje.

x får du genom x2-x1
y får du genom y2-y1 (beroende på om du har 0 upp till vänster eller ner till vänster)

riktningen (r) på skottet blir då (x, y), rakt upp kan bli ett specialfall och är enkelt att beräkna då det längre inte är någon skillnad på x, bara y. riktningen kan normaliseras så att längden blir 1 eller liknande.

åker skottet rakt hela tiden?
du kan använda metoden för att beräkna längden (h) från vapnet till muspositionen, dvs Pythagoras sats, med hjälp av detta värde beräknar du en hastighet till bollen, dvs riktningen på bollen med längden 1 multiplicerat med en konstant (skalning) multiplicerat med hastigheten (hastigheten v=r*(0.2*h))...