krstffr / stupid-space-game

A stupid space game.
0 stars 0 forks source link

Rockets shooting where you click, not just straight #3

Closed krstffr closed 11 years ago

krstffr commented 11 years ago

So if you click above your spaceship, the rocket should go there, not straight ahead. Right?

krstffr commented 11 years ago

@klase jag har nu gjort så att man får fram graderna mellan klickplatsen och "raketkastaren" (se alert() när man klickar!). Men jag vet inte hur jag ska räkna ut accelerationen av x/y-värdena i raketen utifrån detta? Vet du?

klase commented 11 years ago

pythagoras?

krstffr commented 11 years ago

Eller http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm ??

krstffr commented 11 years ago

OK this works if you only want to get all the points (x and y) between two points (answer 2): http://gamedev.stackexchange.com/questions/23430/get-points-on-a-line-between-two-points

For example: try this in the Chrome console and you'll get a list of 10 x and y coordinates between the final and start-points:

final = {x: 10, y: 7}; 
start = {x: 0, y: 0}; 
iteration = 0; 
while (iteration < 10) { 
    console.log('Y coordinate: '+start.y + (final.y - start.y) * (iteration/10)); 
    console.log('X coordinate: '+start.x + (final.x - start.x) * (iteration/10)); 
    iteration ++; 
}

But in the game right now the rocket accelerates in the x direction and don't care about the end point nor the points between the start and the end. It just köttar fram in one direction!

My brain hurts! @klase

(wait, now I saw answer 3, gonna check that out...)

krstffr commented 11 years ago

@klase haha fixade du denna igår? Jag pushade just en aimableRocket-branch också. Ska kolla på vad du gjort!

klase commented 11 years ago

haha japp!

krstffr commented 11 years ago

just snyggt!! haha var sjukt nöjd nyss. Men min kod är betydligt mer messy!!

Är nog väldigt bra att raketer har en egen klass också. Nice!

klase commented 11 years ago

Gjorde du nat liknande for att berakna vx/vy? Tror inte mitt satt ar det mest effektiva..

krstffr commented 11 years ago

Japp, fast jag hade bara farten som 1++ för varje frame, vilket kändes helt fel och dumt. Men jag gjorde liksom bara minsta möjliga för att få det att funka, och blev glad när så blev fallet! :)

Men hela grejen med time * cos( radians ) och time * sin( radians ) för att få fram x och y kändes ju som att man lättare borde hittat än var fallet. Hittade det först imorse, och då försökte jag ändå rätt hårt och länge igår mellan 16-17 typ!

klase commented 11 years ago

Ja det kanns som jag maste refresha min trigonometri lite. Hittade det har som var hjalpfullt: http://www.raywenderlich.com/35866/trigonometry-for-game-programming-part-1

krstffr commented 11 years ago

Ah nice, det ska jag läsa igenom! Jag hittade denna: http://www.zahniser.net/~russell/computer/index.php?title=Angle%20and%20Coordinates som inte var jättehelpful men åtminstone duglig.

krstffr commented 11 years ago

@klase

Har börjat flytta ut lite metoder (för att skjuta till exempel) så att de objekt som behöver dem kan ärva dem. Är dock inte helt säker på om de ska vara fria metoder eller bindas till en game entity class som sedan kan ärvas ned? Har inte jobbat så mycket med inheritance och sånt i JS så jag är lite ute på hal is.

Fiender kan nu skjuta (eller åtminstone spawna ett skott) men massa metoder som bör ligga i Rocket-klassen ligger just nu i SpaceShip-klassen och måste flyttas och snyggas till etc. Pga detta blir det ett error efter att några skott avfyrats (eller försökt avfyras).

Nu måste jag jobba med det jag egentligen ska jobba med idag. Åh så dumt att sitta med sånt här när man inte har tid!!

krstffr commented 11 years ago

@klase kunde inte hålla mig så jobbade vidare lite, flyttade in varje class i varsin fil. Du får hemskt gärna göra om den här strukturen. Även ska nog alla klasser ha samma typ av metod-assignande, alltså .prototype. istället för som jag började göra.

Nu kan hur som helst fiender skjuta.

Oh well, dags att gå hem.

klase commented 11 years ago

Gott jag ar sjalv newbie pa inheritance och sant skit det blir sakert bra vi kan ju refaktorera as we go along ar ju lite hela poangen att lara sig :)

krstffr commented 11 years ago

Mmm finns väl inget super-vedertaget sätt heller i js med inheritence typ?

Gott!

klase commented 11 years ago

Det har kanske ar vard lasning:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_Revisited

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

Ska lasa nar jag kommer hem for busy pa jobbet idag!

krstffr commented 11 years ago

Nice ska kolla!!

Skickat från min iPhone

20 sep 2013 kl. 18:05 skrev klase notifications@github.com:

Det har kanske ar vard lasning:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_Revisited

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

Ska lasa nar jag kommer hem for busy pa jobbet idag!

— Reply to this email directly or view it on GitHub.

krstffr commented 11 years ago

Har ej läst igenom än men verkar lovande: http://javascriptweblog.wordpress.com/2011/05/31/a-fresh-look-at-javascript-mixins/

Skickat från min iPhone

20 sep 2013 kl. 18:05 skrev klase notifications@github.com:

Det har kanske ar vard lasning:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_Revisited

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

Ska lasa nar jag kommer hem for busy pa jobbet idag!

— Reply to this email directly or view it on GitHub.

klase commented 11 years ago

din sista lank var mycket vard lasning!

klase commented 11 years ago

mycket lasa nu men: http://ejohn.org/blog/simple-javascript-inheritance/

kollade kallkoden till impact.js och han anvander resig's teknik

krstffr commented 11 years ago

Är ute på språng men ska läsa!

Det som var gött med mixins-grejen är att det verkar vara så gött modulärt. Verkligen smörgåsbordigt där man simpelt kan plocka till det som behövs och skita i det som inte behövs.

Skickat från min iPhone

21 sep 2013 kl. 12:08 skrev klase notifications@github.com:

mycket lasa nu men: http://ejohn.org/blog/simple-javascript-inheritance/

kollade kallkoden till impact.js och han anvander resig's teknik

— Reply to this email directly or view it on GitHub.

klase commented 11 years ago

ja plus att det kanns som .extend grejen forsoker gora javascript till nat det inte ar

krstffr commented 11 years ago

This works now. We should discuss inheritance somewhere else :)