Hem Personliga finanser Hur man lägger till rörelse med fysik i GameMaker: Studio - dummies

Hur man lägger till rörelse med fysik i GameMaker: Studio - dummies

Innehållsförteckning:

Video: Resultant och komposanter 2024

Video: Resultant och komposanter 2024
Anonim

I GameMaker: Studio får du ditt Objekt definierat för fysik, du kanske vill låta spelaren flytta objektet runt rummet under spelet. Följande två avsnitt visar hur man lägger till rörelse i ett objekt samt gör ett objekt vänd åt vänster eller höger.

Exempelkod för ett tangentbordshändelse för att tillämpa lokal kraft

För att applicera kraft på ett objekt för att få det att flytta, skapa en upptangenthändelse enligt beskrivningen i följande procedur. Följ bara dessa steg:

  1. Dubbelklicka på objektet Obj_player eller ett annat relevant objekt från Resurs-trädet.

    Fönstret Objektegenskaper visas.

  2. Välj Lägg till händelse → Tangentbord → Upp.

    En upptangenthändelse visas i avsnittet Händelser.

  3. Dra och släpp en exekvera kodåtgärd från fliken Kontroll i fönstret Åtgärder.

    Ett tomt kodfönster visas.

  4. I kodfönstret skriver du följande kod:

    physics_apply_local_force (0, 0, 0, -50);
    
  5. Klicka på den gröna kryssrutan.

    Kodfönstret sparas och stängs.

Den här koden använder det lokala koordinatsystemet för att ställa in en vektor för framdrivning. De lokala koordinaterna är baserade på Sprite, där X- och Y-axlarna möts vid Origin. Så, oavsett vilken väg objektet roteras i rummet ändras aldrig Sprite-ursprunget. På så sätt skulle X = 0, Y = -1 alltid ligga under Sprite, som visas i denna figur.

Det första värdet i denna funktion är för xlocal, det andra värdet är ylokalt, det tredje är xforce_local och det sista värdet representerar yforce_local. Genom att använda värdet -50 som värdet för yforce_local, placerar du kraft bakom skeppet som skjuter fartyget framåt.

Mängden kraft är baserad på värdet, så ett större antal ställer större kraft. Experimentera med detta genom att ändra värdet från -50 till -5000 för att se vilken skillnad det gör. Om du använder ett positivt tal (säg 50) märker du att skeppet förefaller flytta bakåt istället för framåt.

Lokala koordinater baseras på Sprite's Origin som betecknas med den röda cirkeln.

Exempelkod för vänster och höger tangentbordshändelser

För att aktivera spelaren att vrida objektet, lägg till vänster och höger tangentbordshändelser. För att få spelaren att vrida objektet till vänster följer du dessa steg:

  1. Dubbelklicka på objektet Obj_player eller ett annat relevant objekt i Resurs-trädet.

    Fönstret Objektegenskaper visas.

  2. Välj Lägg till händelse → Tangentbord → Vänster.

    En vänster tangentbordshändelse visas i avsnittet Händelser.

  3. Dra och släpp en exekvera kodåtgärd från fliken Kontroll i fönstret Åtgärder.

    Ett tomt kodfönster visas.

  4. I kodfönstret skriver du följande kod:

    phy_angular_velocity = 0; phy_rotation- = 10;
    
  5. Klicka på den gröna kryssrutan.

    Kodfönstret sparas och stängs.

Under spelet kan spelaren nu vrida objektet till vänster. Denna kod lägger till eller subtraherar från fysikrotationen, vilket är det som styr riktningen och bildvinkeln på objektet när spelaren trycker på vänsterpilknappen.

För att få spelaren att vrida objektet till höger följer du dessa steg:

  1. Dubbelklicka på objektet Obj_player (eller ett annat relevant objekt) från Resurs-trädet.

    Fönstret Objektegenskaper visas.

  2. Välj Lägg till händelse → Tangentbord → Höger.

    En höger tangentbordshändelse visas i avsnittet Händelser.

  3. Dra och släpp en exekvera kodåtgärd från fliken Kontroll i fönstret Åtgärder.

    Ett tomt kodfönster visas.

  4. I kodfönstret skriver du följande kod:

    phy_angular_velocity = 0; phy_rotation + = 10;
    
  5. Klicka på den gröna kryssrutan.

    Kodfönstret sparas och stängs. Denna kod lägger till eller subtraherar från fysikrotationen, vilket styr vad objektets riktning och bildvinkel när spelaren trycker på högra pilknappen.

Du kan ge objektet en mer naturlig vridning genom att använda physics_apply_torque för att rotera objektet med vridmoment, som är rotationsstyrkan. Vridmoment tar hänsyn till objektets massa och gör sig långsammare, som ett verkligt objekt. Men i ett spel vill du inte alltid att det är för riktigt (det är ju ett spel).

En annan skillnad mellan fysikvärlden i GameMaker: Studio och de traditionella funktionerna är att normalt riktning och bildvinkel beräknas moturs, så att lägga 10 till riktningsvariabeln skulle rotera objektet till vänster. När man använder fysiken beräknas riktningar och vinklar medurs, så att lägga 10 till rotationsvärdet roterar objektet till höger.

Hur man lägger till rörelse med fysik i GameMaker: Studio - dummies

Redaktörens val

Justering och justering av text i Word 2016 - dummies

Justering och justering av text i Word 2016 - dummies

Styckejustering i Word 2016-dokument har ingenting att göra med politik, och motiveringen har lite att göra med anledningarna till att lägga text i en paragraf. Istället hänvisar båda termerna till hur styckets vänstra och högra kanter ser på en sida. De fyra alternativen är vänster, center, rätt och fullständigt motiverad, ...

Hur man gör två kolumntext i Word 2016 - dummies

Hur man gör två kolumntext i Word 2016 - dummies

När man vill imponera på någon Med din text i Word 2016 kan du försöka sätta två kolumner på din sida. Några fler kolumner, och textbredden är för mager och svår att läsa. Två kolumner är dock ett bra sätt att bli snyggare och förbli läsbara. Starta ett nytt dokument. Eller om du ...

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

När man skriver i Word 2010, du don Du måste inte trycka på Enter två gånger för att lägga till extra mellanrum mellan punkterna. Word kan lägga till det här rummet automatiskt:

Redaktörens val

Outlook 2013 Adressböcker - dummies

Outlook 2013 Adressböcker - dummies

Outlook 2013 använder fortfarande flera olika Adressböcker som verkligen ingår i Microsoft Exchange Server. Adressböckerna har flera separata, oberoende listor över namn och e-postadresser - det är ganska förvirrande. Microsoft förenklade problemet med att hantera adressböcker i Outlook 2002 och senare versioner, men det hjälper inte om du använder ...

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016s Kontakter är mer än bara en lista med namn och e-postadresser. Du kan utnyttja fliken Kontakter hem i Outlook 2016-bandet för att skapa nya kontakter, för att ordna hur du visar kontakterna du har, eller för att skapa e-postmeddelanden eller sammanslagningsdokument. Följande bild visar ...

Outlook Web Access - dummies

Outlook Web Access - dummies

Outlook Web Access är en del av ett program som heter Microsoft Exchange, vilket många stora och icke- så stora organisationer kör till avancerade Outlook-funktioner som offentliga mappar, delade kalendrar och tilldelade uppgifter. Inte alla företag som använder Microsoft Exchange erbjuder Outlook Web Access, men om du gör det kan du logga in på Outlook från nästan ...

Redaktörens val

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Kakao är en typ av programmering som du kan utföra med Apples Utvecklarverktyg. Kakao är en samling verktyg och bibliotek som låter dig få ut det mesta av Mac OS X-programmeringen. Många funktioner gör Cocoa bra, bland annat följande: Modulär objektorienterad design Användning av ramar Visual interface design Varför program med ...

Snabba typer - dummies

Snabba typer - dummies

Swifts hantering av typer liknar andra språk, men varje språk har olika inriktningar och regler. I allmänhet har dessa regler att göra med de sätt som skrivs måste genomföras i fall där det finns tvetydighet. Hur mycket kostar språket (eller dess kompilator eller runtime bibliotek) för att säkerställa typkompatibilitet? Swift's approach ...

Klasserna Anatomi av en Swift Class - dummies

Klasserna Anatomi av en Swift Class - dummies

ÄR hjärtat i något objektorienterat programmeringsspråk. Till skillnad från klasser i mål-C och några andra språk behöver Swifts klasser ingen rubrikdeklaration. I stället får du hela klassen (eller struktur eller uppräkning) definitionen i ett format som detta: klass MyClass {var storedNumber: Int = 0 init (myNumber storedNumber: Int) {self. storedNumber = storedNumber ...