Maak je eigen Mario-spel! Scratch Basics voor kinderen en volwassenen

Maak je eigen Mario-spel! Scratch Basics voor kinderen en volwassenen
Deze handleiding is als gratis pdf te downloaden. Download dit bestand nu . Voel je vrij om dit te kopiëren en te delen met je vrienden en familie.

Wist je dat iedereen een videogame kan maken zonder te programmeren? Hoewel er verschillende beginnersvriendelijke talen zijn, hoef je geen half jaar Java of C++ te leren om een ​​spel te bouwen. Je kunt kiezen uit veel tools voor verschillende soorten games, maar een geweldige optie voor kinderen (en volwassenen) is MIT's gratis Kras .





Scratch is een tool waarmee je middelen kunt slepen en neerzetten om games of animaties te maken. Het is gemakkelijk te begrijpen, maar leert de bouwstenen van programmeren in het proces. Laten we eens kijken wat je in Scratch kunt maken en vervolgens de stappen doorlopen om een ​​eenvoudig Mario-spel te maken.





Maak kennis met Scratch

Ga om te beginnen met Scratch naar de startpagina . U moet meteen een account aanmaken, zodat u uw creaties kunt opslaan. Klik op de Doe mee met Scratch knop in de rechterbovenhoek van het venster. Maak een gebruikersnaam en wachtwoord aan, voer je geboortedatum en geslacht in, dan vraagt ​​het systeem om het e-mailadres van een ouder. Voer uw eigen adres in als u er een heeft en bevestig vervolgens uw adres zodat u commentaar kunt geven op andere projecten en het uwe kunt delen.





Nu kun je er meteen in springen. Klik op Creëren op de bovenste werkbalk om de Scratch-editor te starten. Als je wilt, kan dat ook download de offline-editor werken zonder internetverbinding.

Elementen op het scherm

Wanneer u de editor start, ziet u het onderstaande venster. Laten we de elementen opsplitsen (zie de afbeelding op volledige grootte als de kleine hieronder onduidelijk is):



  1. Fase -- Toont een korte samenvatting van je spel. Alle actieve sprites en de door u gekozen achtergrond verschijnen hier. Je kunt sprites verplaatsen als je wilt. Geef uw project een naam in het veld erboven.
  2. achtergrond -- Hier kun je een achtergrond voor je spel selecteren. Kies uit de bibliotheek van Scratch, schilder er zelf een of importeer een bestand. Je kunt ook een afbeelding van de camera van je pc pakken, hoewel de meeste mensen deze optie waarschijnlijk niet nodig hebben.
  3. Sprites -- Het centrum voor alle sprites in uw project. Net als achtergronden kun je standaardachtergronden toevoegen, je eigen achtergronden maken of afbeeldingen uploaden. Klik op het kleine blauwe l pictogram op een sprite om de naam te wijzigen, de hoek te wijzigen of te verbergen.
  4. Werkgebied -- Waar het grootste deel van je werk in Scratch plaatsvindt. Gebruik de bovenstaande tabbladen (met het label Scripts , Kostuums , en Geluiden om te veranderen waar je aan werkt.
    1. Scripts is voor het toevoegen van codeblokken, die we binnenkort zullen bespreken.
    2. Kostuums laat je extra poses maken voor je sprites. Dit tabblad verandert in Achtergronden als je er een hebt geselecteerd in het gebied 2 , en terug naar Kostuums wanneer je een Sprite selecteert in gebied 6 . Met een eenvoudige afbeeldingseditor kun je wijzigingen aanbrengen in afbeeldingen in je spel. U kunt hier ook de naam van activa wijzigen.
    3. Geluiden , niet verwonderlijk, is het centrum voor het toevoegen en bewerken van geluiden.
  5. Blokken -- Afhankelijk van welke van de drie tabbladen je hebt geselecteerd, zal dit gebied schakelen tussen codeblokken, spritekostuums/achtergronden en geluidsfragmenten.
  6. Bedieningsknoppen -- De groene vlag begint je spel, terwijl de vorm van het rode stopbord het beëindigt. Deze ga je gebruiken om te testen.

Blokken gebruiken

Nu je kennis hebt gemaakt met de editor van Scratch, gaan we het hebben over een van de belangrijkste onderdelen van de tool: de codeblokken. In plaats van echte code te typen, kunt u met deze blokken het gedrag van uw elementen definiëren. Ze klikken in elkaar als LEGO's, waardoor het gemakkelijk is om te zien hoe ze elkaar beïnvloeden.

Klik op een sprite in de lijst aan de linkerkant en selecteer de Scripts tab om blokken voor dat element te slepen. Merk op dat de blokken een kleurcode hebben en randen hebben als een legpuzzel om te laten zien hoe ze in elkaar passen. De tien categorieën en wat ze doen zijn:





  • Beweging -- Laat de gegeven sprite bewegen, hetzij met stappen, naar een ander object, of via directe coördinaten.
  • Uiterlijk -- Laat de sprite zichzelf verbergen of laten zien, van kostuum wisselen, van grootte veranderen of tussen lagen bewegen.
  • Geluid -- Speel geluiden af, verander het volume of pas het tempo aan.
  • Pen -- Teken met een stift en verander de kleur en vorm.
  • Gegevens -- Hiermee kunt u uw eigen variabelen maken. Dit is erg handig voor elementen die Scratch niet ingebouwd heeft.
  • Evenementen -- Criteria voor het starten van andere acties, zoals wanneer u op de groene vlag klikt of op de spatiebalk drukt. Je hebt deze blokken nodig om al je andere blokken ook daadwerkelijk iets te doen!
  • Controle -- Loops om een ​​actie te herhalen, een if-else-statement uit te voeren of iets te stoppen.
  • Sensing -- Plaats deze blokken in andere om acties uit te voeren wanneer een sprite een ander element aanraakt of de gebruiker een toets ingedrukt houdt.
  • Operators -- Wiskundige elementen waarmee u rekenkundige of eenvoudige Booleaanse bewerkingen op variabelen kunt uitvoeren.
  • Meer blokken -- Maak je eigen blokken als dit niet genoeg is!

Een eenvoudig voorbeeld

Laten we een eenvoudig voorbeeld nemen om stap voor stap te illustreren hoe deze blokken in elkaar passen. We laten de Scratch-kat een voetbal in het doel trappen en een geluid laten horen als hij erin gaat.

Ten eerste heb je een coole voetbalachtergrond nodig. Ga naar de achtergrond in de linkerbenedenhoek en klik op het afbeeldingspictogram om een ​​van Scratch's achtergronden te kiezen. Er is er een genaamd Doel1 dat zal perfect werken. Klik vervolgens op het sprite-pictogram om een ​​nieuwe vooraf gemaakte sprite toe te voegen. Je zou de moeten zien Bal-Voetbal in de lijst -- dubbelklik erop om het aan je sprites toe te voegen.





Nu de graphics klaar zijn, moet je beginnen met enkele blokken. Selecteer de kat, aangezien hij degene is die de actie uitvoert. Onthoud dat de Evenementen tab veel van de startblokken bevat? Kijk eens en je ziet er een die afgaat als je op de groene vlag klikt. Dat is een perfect startpunt -- sleep het naar de Scripts werkgebied.

Als je eenmaal begint, wil je dat de kat overloopt en de bal schopt, toch? Dat klinkt als iets dat zou vallen onder de Beweging tabblad. Je hebt verschillende opties om de kat te laten bewegen, zoals de Verplaats X stappen blok. Maar we kunnen niet garanderen hoeveel stappen de kat nodig heeft om de bal te bereiken. Er is een beter blok hiervoor -- probeer de Schuif X seconden naar blok. Een seconde is een prima tijd, en je moet op de blauwe klikken l icoon van de voetbal om de coördinaten te zien. Voer die in het blok in en je eerste actie is voltooid!

De bal schoppen

Zodra de kat de voetbal aanraakt, moet deze in het doel vliegen. Selecteer dus de voetbal zodat je er wat acties aan kunt toevoegen. Onthoud dat elke actie moet beginnen met een Evenement -- de groene vlag is prima voor dit geval. Nu wil je niet dat de voetbal beweegt totdat de kat hem aanraakt. Kijk eens naar de Controle categorie voor een blok waarmee we het gedrag ervan kunnen beperken. De Wacht totdat blok klinkt ongeveer goed!

Merk op hoe de Wacht totdat blok heeft een langwerpige zeshoekige vorm erin. Veel van de Sensing blokken passen in deze vorm, dus bekijk die om de juiste te vinden. Zie de aanraken blok bovenaan de lijst? Je kunt dat recht in het gat naar binnen slepen Wacht totdat . Wijzig de vervolgkeuzelijst in Kat of hoe je de sprite van de kat ook noemde.

Nu hoef je alleen nog maar de voetbal in het doel te laten vliegen. De Schuif X seconden naar blok in de Beweging categorie die we eerder voor de kat gebruikten, werkt prima. Snap dat blok eronder wacht totdat en plaats uw muisaanwijzer op het doelnet. Je zult het zien x en EN coördinaten onder het podium -- sluit die aan op de Glijden blok. De bal moet vrij snel bewegen als hij wordt geschopt, dus laten we het proberen 0,5 seconden voor het tijdstip.

En de menigte gaat wild

De laatste stap is het toevoegen van geluid! Selecteer de Geluiden tabblad boven het werkgebied om een ​​nieuwe toe te voegen. Klik op het luidsprekerpictogram onder Nieuw geluid om er een uit de bibliotheek van Scratch te halen. Er is er een genaamd Proost onder de Menselijk categorie, wat perfect is. Dubbelklik erop om toe te voegen en ga dan terug naar de werkruimte voor de voetbal.

hoe u meer Google-opiniebeloningen kunt krijgen

Je vindt een blok met het label Geluid afspelen onder de Geluid categorie. Snap dat onder de glijden blok, en je bent helemaal klaar! Klik op de groene vlag om je animatie af te spelen. De kat zal naar de bal rennen en als hij de bal aanraakt, vliegt de bal het doel in en het publiek juicht.

[video mp4='https://www.makeuseof.com/wp-content/uploads/2017/04/Scratch-Soccer-Example-Video.mp4'][/video]

Dat was niet zo moeilijk! Nu we hebben gegraven in hoe blokken zich verhouden en in elkaar passen, laten we eens kijken hoe je een Mario-spel kunt bouwen met Scratch.

Een basis Mario-spel maken

Het eenvoudige voetbalvoorbeeld hierboven laat zien hoe je blokken kunt gebruiken om sprites te besturen, maar het heeft geen gameplay, animaties of muziek. Laten we er meer op ingaan en een eenvoudig Mario-spel maken. We zouden duizenden woorden kunnen besteden aan elk aspect van het maken van een spel, dus we houden het bij de basis.

Houd er rekening mee dat: Omdat ik geen artiest ben, kopieer ik voor deze tutorial Mario-sprites van internet. Mario-graphics zijn eigendom van Nintendo en je mag geen games publiceren die auteursrechtelijk beschermde sprites gebruiken. Dit wordt alleen als voorbeeld gegeven.

Afbeeldingen importeren

De eerste stap is om je sprites en achtergronden in Scratch te importeren. Omdat we afbeeldingen van internet gebruiken, download ik ze en upload ik ze naar Scratch. Logica creëren zodat Mario op vijanden kan springen om ze te verslaan, maar sterft door hun zij aan te raken, is te geavanceerd voor deze tutorial, dus laten we hem in plaats daarvan munten laten verzamelen.

Aan het einde van de tutorial zal ik een ZIP-bestand verstrekken met de laatste activa die ik heb gebruikt. Als u die gebruikt, hoeft u zich geen zorgen te maken over de instructies voor beeldmanipulatie in de zelfstudie. Als je alles zelf wilt downloaden, ga dan verder. Dit zijn de sprites die ik heb gedownload:

Scratch heeft een Blauwe lucht 3 achtergrond, die goed zal werken voor onze behoeften.

Sprite-kostuums bewerken

Omdat Mario's run-animatie uit twee sprites bestaat, moet je ze als aparte kostuums toevoegen. Gebruik een afbeeldingseditor zoals Paint.NET om de twee Mario-frames als afzonderlijke bestanden op te slaan - je kunt de derde negeren. Upload de eerste Mario-sprite, selecteer deze en gebruik de Kostuums tab om de andere sprite als zijn tweede kostuum te uploaden. Geef ze herkenbare namen, zoals Mario-1 en Mario-2 . Voeg de springende sprite toe als een ander kostuum voor Mario.

Gebruik een afbeeldingseditor om de cloud uit de bovenstaande afbeelding te extraheren en upload deze vervolgens als een nieuwe sprite. Het is niet geanimeerd, dus je hoeft geen apart kostuum toe te voegen.

Voor de grond heb je veel blokken nodig aangezien Mario er langs loopt. Gebruik Paint.NET om de zes blokken in het midden van de Grondblokken afbeelding en sla ze vervolgens op als een apart bestand. Je hebt ongeveer 12 blokken nodig om de hele onderkant van het scherm te bedekken als je ze eenmaal tot een goede maat hebt verkleind. U moet dus twee exemplaren van deze zes blokken naast elkaar plaatsen voor uw Grond sprite. Upload dit en maak vervolgens twee grondsprite-duplicaten in Scratch.

De munt is een geanimeerde GIF, dus het is een beetje anders. Telkens wanneer je het uploadt, maakt Scratch kostuums voor elk frame van de animatie. Deze afbeelding heeft in totaal 11 frames, maar heeft helaas ook een witte rand eromheen, die afsteekt tegen de blauwe achtergrond. Je moet elk kostuum voor de munt openen in de Scratch-editor. Gebruik het pipetgereedschap om de blauwe achtergrondkleur te selecteren en gebruik vervolgens het verfemmergereedschap om de witte randen van de munt in lichtblauw te veranderen.

U moet het formaat van sprites wijzigen met de Groeien en Krimpen knoppen aan de bovenkant van het scherm, net boven de groene vlagknop. Klik op een van beide knoppen en klik vervolgens op de sprite die u wilt wijzigen in het werkgebied aan de linkerkant. Dit zal ook het formaat van alle kostuums wijzigen. Ballpark ze voor nu; u kunt later finetunen.

Geluiden importeren

Net als sprites pakken we een paar geluiden om ons spel uit te werken. Ga je gang en download deze en upload ze vervolgens met de Geluiden tabblad. Terwijl je toch bezig bent, kijk in ze toevoegen als coole beltonen voor je telefoon .

Animeer de munten

Nu alle activa klaar zijn, is het tijd om ze tot leven te laten komen. We beginnen met de munten, want die zijn gemakkelijk. Selecteer de munt sprite en de Scripts tabblad. Omdat onze munten geanimeerde GIF's zijn, kunnen we een reeks blokken gebruiken om constant door hun kostuums te scrollen, zodat ze lijken te bewegen.

Een animatiescript ziet er ongeveer zo uit:

Kortom, dit script zet de munt in de standaardstatus wanneer u op de groene vlag klikt. Vervolgens fietst hij eindeloos door de frames, met een snelheid die u instelt als de FPS variabele in de Gegevens tabblad. Speel wat met dat nummer als je de snelheid niet leuk vindt.

Haal het vinkje weg naast Munt-FPS in de Gegevens tab (dit is een aangepaste variabele die u maakt), zodat deze niet op het scherm wordt weergegeven.

Mario laten bewegen

Nu voor het moeilijke deel. Er zijn veel stappen nodig om Mario te laten bewegen, en het is eigenlijk een truc die door de grondblokken schuift om de schijn van beweging te geven. In plaats van te proberen elke bloklus uit te leggen, zal ik screenshots van codeblokken geven en hun hoogtepunten uitleggen.

Eerst moet je vier variabelen maken in de Gegevens tabblad. Deze zijn alle vier Voor alle sprites behalve voor Snelheid , die alleen voor Mario is:

  • Zwaartekracht is een constante die Mario terug naar de grond trekt wanneer hij springt.
  • OnGround houdt bij of Mario de grond raakt of niet.
  • ScrollX meet de horizontale beweging van het scherm.
  • Snelheid (Alleen Mario) bepaalt de snelheid waarmee Mario springt.

De grond animeren

Je hebt al twee kopieën gemaakt van je Grond sprite door er met de rechtermuisknop op te klikken en te kiezen voor Duplicaat . Sleuren Grond-1 helemaal links van het scherm, zodat het meest linkse blok helemaal links van het scherm raakt. Sleep vervolgens de andere grondsprite(s) naar rechts van de eerste. Lijn de randen uit en het lijkt alsof de grond één stevig stuk is.

Hier is het codeblok dat je voor elk nodig hebt Grond sprite:

Hierdoor wordt de grond onder aan het scherm geplaatst en wordt vervolgens eenvoudig door de blokken geschoven terwijl Mario beweegt. ScrollX is de positie van de blokken; 0 is de standaardpositie die wordt gestart wanneer u op de groene vlag klikt. U zult merken dat u niet direct na het starten naar links kunt.

Verhoog voor de tweede (en verdere) grondblokken de 0 cijfer in ScrollX + 480 * 0 met één voor elk nieuw stuk grond. Dit compenseert het zodat het soepel schuift.

Mario's logica

Dat is alles wat nodig is voor de blokken, maar Mario heeft nog veel meer codeblokken. Dit is wat ze allemaal doen, met een korte samenvatting:

Dit codeblok verandert de ScrollX variabel wanneer Mario beweegt. Telkens wanneer je naar links of rechts drukt, kijkt Mario in de juiste richting en neemt een stap, oplopend ScrollX door 3. Als je merkt dat Mario ondersteboven draait als je naar links beweegt, klik dan op de blauwe l op zijn sprite en zorg ervoor dat de Rotatie stijl: is ingesteld op de tweede optie. Dit zal hem naar links en rechts draaien in plaats van in een cirkel.

hoe Facebook-account terug te krijgen

Hier zien we de code die de kostuumveranderingen van Mario afhandelt. Als Mario niet op de grond ligt, heeft hij het springkostuum. Wanneer je naar links of rechts beweegt, schakelt Mario elke tiende van een seconde tussen frames. Laat de pijltjestoetsen los en Mario gaat standaard naar zijn standaardframe.

Een eenvoudig stukje code dat de OnGround variabel. Als hij een van de grondblokken aanraakt, OnGround is gelijk aan 1 (waar). Als hij springt, OnGround is 0 (onwaar).

Deze twee codeblokken zorgen voor Mario's sprongsnelheid. Aan de linkerkant is een blok dat ervoor zorgt dat Mario geen momentum heeft als hij op de grond ligt. Als hij in de lucht is, wordt zijn snelheid geleidelijk vertraagd door de zwaartekracht, wat een constante waarde is. Het rechterblok laat Mario springen wanneer je op de spatiebalk drukt. Zijn springgeluid speelt en de snelheid stuwt hem de lucht in totdat de zwaartekracht het overneemt.

Ons laatste codeblok voor Mario is helemaal klaar. Wanneer je op de groene vlag klikt om te beginnen, begint de muziek, worden alle variabelen ingesteld op hun standaardwaarden en verschijnt Mario in het midden van het scherm.

Munten verzamelen

Laten we teruggaan naar de munten. We moeten ervoor zorgen dat wanneer Mario er een grijpt, deze een geluid maakt en verdwijnt. Laten we daar een apart script voor maken -- het scheiden van scripts op functie is een belangrijke oefening bij het programmeren. Een grote wirwar van blokken maakt het moeilijker om het probleem te achterhalen als er iets misgaat.

Dit is ons script voor het verzamelen van munten:

Dit is vrij eenvoudig: wanneer Mario een munt aanraakt, speelt het verzamelgeluid en verbergt de munt. In de muntanimatiecode hebben we een geplaatst Laten zien blok zodat de munten opnieuw verschijnen wanneer u opnieuw opstart.

Scroll munten en wolken

Je bent er bijna! Aangezien Mario niet beweegt, maar de grond schuift, moeten we ervoor zorgen dat de munten ook rollen, zodat Mario ze kan verzamelen. Zo werkt dat:

Dit plaatst de munt op a EN waarde (dat is de verticale schermpositie) waar Mario het gemakkelijk kan pakken. Het gebruikt dan dezelfde logica als de grondblokken om naar Mario te scrollen. Merk op dat we de scrollsnelheid hebben verhoogd naar 0,75 zodat munten snel naar Mario bewegen. Voor de tweede en derde munt verhogen we de zet y op veld naar -40 en -twintig dus ze zijn een beetje hoger en moeilijker voor Mario om te grijpen. In de Stel x in op blok, verhoog de 150 * 1 tot 150 * 3 en 150 * 5 voor de tweede en derde munten om ze verder naar rechts te plaatsen, buiten het scherm.

De wolken gebruiken een bijna identiek codeblok:

Nogmaals, dit plaatst een wolk op een specifieke hoogte en schuift deze vervolgens terwijl Mario beweegt. Voor een tweede wolk die voor Mario staat in plaats van achter hem, verander de zet x op blokkeren naar (ScrollX * 0.1) + (150 * 1) , net als de munten.

Randen toevoegen

Vanwege de manier waarop we de grond en munten hebben geïmplementeerd, zie je munten aan de rand van het scherm blijven hangen totdat ze in beeld komen. Dit is lelijk, dus je zou een snelle randsprite moeten maken die dezelfde kleur heeft als de achtergrond om deze aan zowel de linker- als de rechterkant te verbergen.

De gemakkelijkste manier om dit te doen, is door met de rechtermuisknop op het werkgebied te klikken en te klikken op Foto van podium opslaan . Open deze in Paint.NET en gebruik de pipettool om de blauwe achtergrondkleur te selecteren. Voeg een nieuwe laag toe met behulp van het dialoogvenster rechtsonder. Gebruik vervolgens het rechthoekgereedschap om een ​​gevulde blauwe rechthoek aan weerszijden van het scherm te tekenen. Bedek ongeveer de helft van elk blok en verwijder vervolgens de achtergrondlaag.

Sla dit op als een PNG-bestand en upload het als een nieuwe sprite met de naam Grens . Omdat je de randen recht over het scherm hebt getekend, kun je het perfect uitlijnen.

Dan heb je maar een paar blokken nodig zodat de grens altijd vooraan ligt:

Je spel uitbreiden

Probeer de eindproduct hier !

We hebben samen de basis van een Mario-spel opgezet. Je kunt vanaf hier veel elementen aan je spel toevoegen. Probeer Super Mushrooms toe te voegen om Mario sterker te maken, een aantal kuilen te maken die Mario moet wissen of een vlag op het eindniveau te creëren. Met de bouwstenen die je hier hebt opgepikt, kun je meer sprites, variabelen en logica toevoegen om alles te maken wat je maar wilt. We zijn benieuwd waar je mee komt!

We willen graag een shout-out geven aan Scratch-gebruiker dryd3418, omdat we een deel van de code van zijn Super Mario: Scroll & Jump-zelfstudie project in ons eigen project voor dit artikel. Voor meer gedetailleerde hulp, inclusief scripts die u kunt kopiëren, ga naar een andere gebruikershandleiding voor het maken van een Mario-spel . Als je een gemakkelijkere route wilt nemen, bekijk dan de Maak je eigen Mario Game-project waarmee je sprites kunt slepen en neerzetten om een ​​eenvoudig spel te maken.

Merk op dat u op elk Scratch-project kunt klikken op Binnen zien om het project te openen in een editor, net zoals je voor je eigen project hebt gebruikt. Hierdoor kun je een glimp opvangen van de blokken die iemand heeft gebruikt om hun project te laten werken, en kan je helpen als je vastloopt. Ik heb mijn project voor iedereen beschikbaar gemaakt, dus voel je vrij om bekijk het en bekijk de code als je hulp nodig hebt. Ik heb ook alle items die ik in deze game heb gebruikt gezipt, dus dat kan download ze om wat tijd te besparen.

Interesse om hierin een stap verder te gaan? Bekijk Scratch For Arduino om projecten op dat platform te bouwen. Als je klaar bent om erin te duiken, bekijk dan alles wat je nodig hebt om een ​​iPhone-game te maken vanaf het begin.

een opstartbaar usb maken van windows 7

Voor andere leuke dingen die je met je kinderen kunt maken, kijk eens op deze sites voor doe-het-zelf knutselwerkjes en projecten voor kinderen en tieners.

Deel Deel Tweeten E-mail Uw Windows-pc opschonen met de opdrachtprompt

Als uw Windows-pc weinig opslagruimte heeft, ruim dan de rommel op met deze snelle opdrachtprompthulpprogramma's.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • lange vorm
  • Longform-gids
  • Kras
Over de auteur Ben Stegner(1735 artikelen gepubliceerd)

Ben is adjunct-redacteur en de onboarding-manager bij MakeUseOf. Hij verliet zijn IT-baan om fulltime te schrijven in 2016 en heeft nooit meer achterom gekeken. Als professionele schrijver behandelt hij al meer dan zeven jaar technische tutorials, aanbevelingen voor videogames en meer.

Meer van Ben Stegner

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren