Car movement 2D

[et_pb_dmb_code_snippet code=”dXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgVW5pdHlFbmdpbmU7CgpwdWJsaWMgY2xhc3MgQ2FybW92ZW1lbnQyRCA6IE1vbm9CZWhhdmlvdXIKewogICAgcHVibGljIGZsb2F0IENhclNwZWVkID0gNDAwOwogICAgcHVibGljIGZsb2F0IFJvdGF0ZVNwZWVkID0gMjA7CgogICAgcHVibGljIFJpZ2lkYm9keTJEIENhclJpZ2lkYm9keTsKCiAgICB2b2lkIFVwZGF0ZSgpCiAgICB7CiAKICAgICAgICAgICAgLy8gRGVuIHNrYWwgcm90ZXJlIG9ta3JpbmcgeiBha3NlbgogICAgICAgICAgICAvLyBvZyBnYW5nZXMgbWVkIGVuIGhhc3RpZ2hlZCBzw6UgZGV0IGlra2UgZ8OlciBsYW5nc29tdCBhdCByb3RlcmUuCiAgICAgICAgICAgIHRyYW5zZm9ybS5Sb3RhdGUoMCwgMCwgLUlucHV0LkdldEF4aXMoIkhvcml6b250YWwiKSAqIFJvdGF0ZVNwZWVkICogVGltZS5kZWx0YVRpbWUpOwogIAoKICAgICAgICAvLyBWaSBzw6Z0dGVyIGRlbnMgaGFzdGlnaGVkIHRpbCBhdCBnw6Ugb3BhZAogICAgICAgIC8vIHNvbSBzdHlyZXMgYWYgYWtzZW4gIlZlcnRpY2FsIiBpIGlucHV0IG1hbmFnZXJlbgogICAgICAgIC8vIGdhbmdldCBtZWQgY2Fyc3BlZWQgb2cgdGltZSBkZWx0YXRpbWUgZm9yIGF0IGfDuHJlIGRldCBzbW9vdGggCiAgICAgICAgQ2FyUmlnaWRib2R5LnZlbG9jaXR5ID0gKHRyYW5zZm9ybS51cCpJbnB1dC5HZXRBeGlzKCJWZXJ0aWNhbCIpKSAqIFRpbWUuZGVsdGFUaW1lICogQ2FyU3BlZWQ7CgogICAgfQp9″ style=”obsidian” linenums=”on” usetabwidth=”on” tabwidth=”14″ _builder_version=”4.2″ hover_enabled=”0″]dXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgVW5pdHlFbmdpbmU7CgpwdWJsaWMgY2xhc3MgQ2FybW92ZW1lbnQyRCA6IE1vbm9CZWhhdmlvdXIKewogICAgcHVibGljIGZsb2F0IENhclNwZWVkID0gNDAwOwogICAgcHVibGljIGZsb2F0IFJvdGF0ZVNwZWVkID0gMjA7CgogICAgcHVibGljIFJpZ2lkYm9keTJEIENhclJpZ2lkYm9keTsKCiAgICB2b2lkIFVwZGF0ZSgpCiAgICB7CiAKICAgICAgICAgICAgLy8gRGVuIHNrYWwgcm90ZXJlIG9ta3JpbmcgeiBha3NlbgogICAgICAgICAgICAvLyBvZyBnYW5nZXMgbWVkIGVuIGhhc3RpZ2hlZCBzw6UgZGV0IGlra2UgZ8OlciBsYW5nc29tdCBhdCByb3RlcmUuCiAgICAgICAgICAgIHRyYW5zZm9ybS5Sb3RhdGUoMCwgMCwgLUlucHV0LkdldEF4aXMoIkhvcml6b250YWwiKSAqIFJvdGF0ZVNwZWVkICogVGltZS5kZWx0YVRpbWUpOwogIAoKICAgICAgICAvLyBWaSBzw6Z0dGVyIGRlbnMgaGFzdGlnaGVkIHRpbCBhdCBnw6Ugb3BhZAogICAgICAgIC8vIHNvbSBzdHlyZXMgYWYgYWtzZW4gIlZlcnRpY2FsIiBpIGlucHV0IG1hbmFnZXJlbgogICAgICAgIC8vIGdhbmdldCBtZWQgY2Fyc3BlZWQgb2cgdGltZSBkZWx0YXRpbWUgZm9yIGF0IGfDuHJlIGRldCBzbW9vdGggCiAgICAgICAgQ2FyUmlnaWRib2R5LnZlbG9jaXR5ID0gKHRyYW5zZm9ybS51cCpJbnB1dC5HZXRBeGlzKCJWZXJ0aWNhbCIpKSAqIFRpbWUuZGVsdGFUaW1lICogQ2FyU3BlZWQ7CgogICAgfQp9[/et_pb_dmb_code_snippet]

I dette script prøver vi at lave en bil der kører fremad og rotere til siden med piletasterne (eller A/D). 

Linje 7-8: Variabler til at justere hastigheden på bilen og hvor hurtigt den skal rotere

Linje 17: Hver frame skal den tjekke om den skal rotere. I koden bruger vi funktionen “Rotate” som vil vide hvor meget den skal rotere i x, y og z. De første to er 0 fordi vi kun rotere med Z i 2D (ellers vil det se underligt ud).  “Input.GetAxis(“Horizontal”) henter en værdi fra inputmanageren som standard er sat til A/D eller piletaster til venstre/højre. Den værdi bliver 0 hvis vi ikke trykker på noget, -1 hvis vi trykker på den ene knap og +1 hvis vi trykker på den anden. Dvs. at vi ville rotere -1 eller +1 per frame hvis det var det eneste der stod (og vi holdte knapperne nede).  Vi ganger dog med Time.deltatime og Rotatespeed så den rotere lidt hurtigere (i sekundet – ikke per frame pga. Time.deltatime). 

Linje 23: CarRigidbody.velocity (hastigheden for bilen) bliver sat til at blive bevirket af om du trykker på up/ned (eller w/s) via GetAxis(“Vertical”). Her gange vi så med Carspeed og deltatime for at det bliver i sekundet.