1. Het project opzetten:
* Nieuw project: Maak een nieuw GameMaker-project.
* Bronnen:
* Sprites: Importeer sprites voor Mario, vijanden, blokken, power-ups, achtergronden, enz.
* Geluiden: Importeer geluiden voor springen, rennen, munten verzamelen, power-ups, enz.
* Tegelsets: Mogelijk moet u een tegelset maken voor de niveaukaart als u een op tegels gebaseerd niveauontwerp gebruikt.
* Spelvariabelen:
* `zwaartekracht` (bijvoorbeeld 0,5)
* `mario_speed` (bijvoorbeeld 5)
* `spring_hoogte` (bijvoorbeeld 10)
* `player_lives` (bijvoorbeeld 3)
* `score` (bijvoorbeeld 0)
2. Het spelerobject maken:
* Speler Sprite: Wijs de Mario-sprite toe aan het object.
* Evenement maken:
* Initialiseer spelervariabelen zoals `x`, `y`, `speed`, `is_grounded`, `is_jumping`, enz.
* Stel de initiële levens van spelers in en scoor.
* Stapgebeurtenis:
* Beweging:
* Controleer op linker- en rechtertoetsaanslagen.
* Pas de horizontale snelheid van de speler aan op basis van toetsaanslagen.
* Pas 'zwaartekracht' toe op de verticale snelheid van de speler.
* Springen:
* Controleer of er een sprongtoets is ingedrukt.
* Als 'is_grounded' is, stel dan 'is_jumping' in op true en pas de sprongsnelheid toe.
* botsingsdetectie:
* Controleer op botsingen met grond en muren.
* Als u tegen de grond botst, stelt u `is_grounded` in op true.
* Als u tegen een muur botst, voorkom dan verdere beweging in die richting.
* Trekevenement:
* Teken de speler-sprite.
3. Het niveau creëren:
* Kameropstelling: Creëer een nieuwe kamer voor jouw niveau.
* Niveauontwerp:
* Gebruik tegelsets of teken individuele objecten voor de niveaugeometrie.
* Plaats platforms, blokken, vijanden, power-ups, enz.
* Objectbotsingen:
* Configureer objectbotsingen.
* De speler moet bijvoorbeeld tegen blokken en muren botsen, maar niet tegen power-ups.
* Achtergrond:
* Voeg een achtergrondafbeelding of tegelkaart toe.
4. Vijanden toevoegen:
* Maak vijandelijk object:
* Wijs vijandelijke sprite toe.
* Definieer vijandelijk gedrag in het Step Event (bijvoorbeeld naar links en rechts bewegen, de speler achtervolgen).
* Botsing met speler:
* Detecteer een botsing tussen de speler en vijanden.
* Schadelogica implementeren (bijvoorbeeld een leven verliezen).
5. Power-ups implementeren:
* Maak een power-upobject:
* Wijs power-up-sprite toe.
* Pas in het botsingsevenement met de speler power-upeffecten toe (bijvoorbeeld vergroot de omvang, verkrijg onoverwinnelijkheid).
6. Game Over implementeren en winnen:
* Game voorbij:
* Ontdek wanneer de speler geen levens meer heeft.
* Geef een game-over-scherm weer.
* Winnen:
* Definieer een winnende voorwaarde (bijvoorbeeld het bereiken van het einde van het level).
* Geef een winnend scherm weer of ga door naar het volgende niveau.
7. Geavanceerde functies:
* Geluidseffecten: Voeg geluidseffecten toe voor acties zoals springen, munten verzamelen, enz.
* Muziek: Voeg achtergrondmuziek toe.
* Scrollende achtergrond: Implementeer scrollende achtergrondfunctionaliteit.
* Meerdere niveaus: Creëer meerdere kamers om verschillende niveaus weer te geven.
* Niveau-editor: Overweeg om een niveau-editor te maken, zodat u gemakkelijker niveaus kunt maken.
Codevoorbeeld (spelerbeweging):
```gml
// Evenement maken
snelheid =0;
is_geaard =onwaar;
is_jumping =onwaar;
// Stapgebeurtenis
als (toetsenbordcontrole(vk_left)) {
snelheid =-mario_snelheid;
} anders als (keyboard_check(vk_right)) {
snelheid =mario_snelheid;
} anders {
snelheid =0;
}
// Pas zwaartekracht toe
vsnelheid +=zwaartekracht;
// Springen
if (keyboard_check_PRESS(vk_space) &&is_grounded) {
vsnelheid =-sprong_hoogte;
is_jumping =waar;
}
// Botsing met de grond
if (place_meeting(x, y + vspeed, obj_ground)) {
vsnelheid =0;
is_geaard =waar;
is_jumping =onwaar;
} anders {
is_geaard =onwaar;
}
// Horizontale botsing
if (place_meeting(x + snelheid, y, obj_ground)) {
snelheid =0;
}
// Verplaats de speler
x +=snelheid;
y +=vsnelheid;
```
Dit is een heel eenvoudig voorbeeld, en je zult het aanzienlijk moeten uitbreiden om een volwaardig Mario-spel te creëren.
Vergeet niet dat het ontwikkelen van games tijd en moeite kost. Begin met eenvoudige mechanica en voeg geleidelijk de complexiteit toe. Gebruik de GameMaker-documentatie en online tutorials om je op weg te helpen.