Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell



Relevanta dokument
Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

Space Shooter. Projektrapport i kursen Avancerad C/C++ (DVA303) vid Mälardalens Högskola av Lars Lindqvist och Niklas Nolte

Designspecifikation den 13 december 2007

Programmering A. Johan Eliasson

Sta. Sta. Sta. ulricaelisson.se. Scratch STARTA PROVA KODEN KÖR! TIPS. Rita en ny sprite. Eller välj en från mappen

Grunderna i stegkodsprogrammering

Scratch from Scratch. Skrapa på Scratch. Exempelsamling för kursledare. Mikael Karlström Feb

Programmeringsteknik med C och Matlab

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden.

OOP Objekt-orienterad programmering

Att använda pekare i. C-kod

Objektorienterad programmering

Dynamisk HTML JavaScript och webbläsarens objektmodell

Hjälpmedel för kompilatorkonstruktion, DVB004

SMD 134 Objektorienterad programmering

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

natur och miljö Syfte

Kravspecifikation TDP005 Projekt: Objektorienterat system

Digital Display VDS / Bus2

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg

Föreläsning 1 & 2 INTRODUKTION

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Objektorientering Klasser

Elisabeth Bejefalk IT-Assistent Avesta kommun

Gameplay. Föreläsning 6. Logiska, inferens och latterala. Olika typer av utmaningar

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Programmering. Scratch - grundövningar

Lego Robot [ ] [ ] [ ]

Uppgift 1 ( Betyg 3 uppgift )

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Programmering B med Visual C

DELPROV 1 I DATAVETENSKAP

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Bedöma elevers förmågor i muntlig uppgift

Snabbgenomgång. Windows Live Movie Maker

ACCESS GEWA PROG SVENSK BRUKSANVISNING

Laboration 1: Figurer i hierarki

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Anpassning av Windows XP

Björn Abelli Programmeringens grunder med exempel i C#

n-abler PRO JOYSTICK Handledning

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Uppgift 1. Kylskåpstransporter

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Klasser och objekt, referenser Grundkurs i programmering med Python

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Introduktion till arv

Nya Medier. Gränssnitt, Interaktivitet och Digital kod

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Övningar i JavaScript del 7

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Objektorienterad programmering

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

Objektorientering Användning

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

SMD 134 Objektorienterad programmering

TDDC77 Objektorienterad Programmering

TDDD78 Objektorientering: Lagring och livstid

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Samverkande Expertnät

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse

Grunderna i SQL del 1

Handbok Kstuds. Tomasz Boczkowski Granskare: Eugene Trounev Översättare: Stefan Asserhäll

k x om 0 x 1, f X (x) = 0 annars. Om Du inte klarar (i)-delen, så får konstanten k ingå i svaret. (5 p)

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Tips och tricks 1 Cadcorp SIS

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!

Mikael Bondestam Johan Isaksson. Spelprogrammering. med CDX och OpenGL

Introduktion till PHP

Träningspass 1 Tid: 1,5 h Passning/ Mottagning

VHDL och laborationer i digitalteknik

Objektorienterad programmering

Spel som interaktiva berättelser

TDP005 Projekt: Objektorienterat system

Tentamen OOP

Uppgifter talmönster & följder

Macromedia. Flash 8 Grundkurs.

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Språket Scheme. DAT 060: Introduktion till (funktions)programmering. DrScheme. uttryck. Jacek Malec m. fl. evaluering av uttryck.

5 Relationer mellan individens utvecklingsnivå, olika verktyg och användning av olika produkter

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

Optiska ytor Vad händer med ljusstrålarna när de träffar en gränsyta mellan två olika material?

ZoomText 10.1 Snabbguide Tillägg

IT-körkort för språklärare. Modul 6: Video, del 2

Objektorienterad programmering Föreläsning 4

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

1. 20 identiska bollar skall delas ut till fem flickor och fem pojkar. På hur många olika sätt kan detta ske om

SvFFs Arbetsmodell. Vad? Öva passningsspel, orientera sig, rättvänd/felvänd spelare, spel på rättvänd (med fart)

75059 Stort sorteringsset

Stefan Nilsson

Lab5 för prgmedcl04 Grafik

Transkript:

Gamemaker, dagens föreläsning Vad innehåller Gamemaker? Rum Objekt Händelser Aktioner Sprites Ljud Variabler och uttryck Live exempel: Början på Pac Man Att göra spel med Game Maker Programmeringsmodell Objektorienterad Händelsestyrd Prototypbaserad instansiering Framförallt finns det en enkel och lättlärd väg Men, tillåter en svårare och mer finessrik väg Grundläggande delar Rum Nivåer i spelet Statisk storlek Innehåller bakgrundsbild, tiles och objekt Objekt Har en vy (= en sprite) Kan reagera på händelser Har många egenskaper Rum Ett Rum är hela eller en del av spelvärlden Kan vara allt från en helt svart yta till ett landskap med hus, träd, djur och människor Saker som är statiska dvs. saker som inte interagerar med andra, kan skapas som tiles I Rum skapas, lever och dör alla objekt

Objektorientering Gamemaker är objektorienterat för att den har: Arv Meddelandesändning Instansiering OBS! Objektorientering är inget krav för att göra labbar och projekt. Objekt Objekt: Är en tingest (substantiv). Innehar information för tingesten (tillstånd). Reagerar på händelser (meddelandesändning). Kan: Skapas (konstruktion) Leva en tid Förstöras (destrueras) Objekt Objektdialogen Objekt är allt som kan flyttas, förvandlas, har ett beteende eller på något sätt interagerar med andra saker i spelet Objekt behöver inte synas på skärmen, de kan vara informationsbehållare Varje skapat objekt får ett objekt ID Man kan referera till objekt via ID eller objekt namn Objekt reagerar på händelser, från systemet eller användaren

Objekt reagerar på händelser Händelser är enda sättet för ett objekt att ändra sitt tillstånd Händelser kan komma från: Systemet (alarm, konstruktion och destruktion) Användaren (mus, tangentbord och joystick) Andra objekt (kollisioner, mm) Ett objekts beteende är bestämt utifrån den tillståndsförändring som blir när en händelse uppstår Somliga händelser innefattar fler objekt Undvik att lägga för mycket i händelsen Step Händelser Aktioner när händelser inträffar Aktioner När en händelse inträffar har objektet en chans att ändra sina egenskaper Reaktioner kan ge upphov till nya händelser: I objektet som fick händelsen från början I andra objekt Exempel på reaktioner: Ändra position, spela up ett ljud, byta utseende mm.

Starta förflyttning Flytta ett objekt med en viss hastighet och riktning Kan påverka andra objekt än sig själv Objektet stannar inte för att den har kommit utanför skärmen Sprites Används för att visa objekt Pixel baserad Bitmap Genomskinlighet (Alfa kanal) Sprites ska inte vara så stora T.ex. 16, 32 eller 64 pixlar Varför är sprites många till antalet? Svaret finns på nästa bild! Animerade sprites Lägg till en Sprite Animeringar Animeringen (spriten) till höger består av nio bitmaps Om den skall kunna gå åt alla riktningar (up, ner, höger och vänster) så krävs totalt 36 bitmaps och fyra sprites

Lägg till ett Ljud Verktygsfält Ljud finns till för ökad upplevelse Effekter Bakgrundsmusik Ljud är passivt Undvik för mycket ljud KTH utvecklar spel baserat på enbart ljud för synskadade Kör och felsöka spel Standardfält med: Ny, öppna och spara Resursfält: Lägg till sprite, ljud, bakgrund, objekt eller rum Information och inställningar Registrera och hjälp Variabler och uttryck För att kunna bibehålla information för objektets tillstånd används variabler Alla objekt har en standard uppsättning av variabler men kan utökas med fler Variabler tillhör antingen alla objekt (globala) eller ett specifikt objekt (lokala) Variabler kan innehåll värden: Heltal, flyttal och text Variabler och uttryck, forts. I en reaktion kan man tilldela variabler, nya värden En variabel måste ha ett värde innan man frågar den om värdet Utan uttryck kan man bara tilldela variabler, konstanta värden Uttryck är ett strukturerat sätt at kombinera del-uttryck

Variabler och uttryck, forts. Uttryck är antingen: En konstant En variabel (namn på variabel) En funktion (namn på funktion + ev. parametrar) En kombination med hjälp av en operator mellan två andra del-uttryck Exempel: vspeed screen_height / (10 + 1 foo) Uttryck Aritmetiska uttryck kombineras med aritmetiska operatorer (+,-,* och /) Logiska uttryck kombineras med logiska operatorer (==,<,>,>= och <=) Alla operatorer har en inbördes prioritet, samma prioritet som gäller för matematiska operatorer Funktioner Funktioner är en sekvens av aktioner som slagits samman och givits ett namn Man kan göra egna funktioner (GML) men Gamemaker har en uppsättning redan gjorda funktioner Funktioner kan ta parametrar som i sig själva kan vara uttryck Funktioner lämnar ofta tillbaka ett resultat Summering Spel i Game Maker består av ett antal rum I rum finns objekt som reagerar på händelser Sprites är ett antal bitmaps Ljud höjer spelupplevelsen Man kan programmera i Game Maker (liknar C-programmering)