Video: 13.5: noiseDetail() - Perlin Noise and p5.js Tutorial 2024
In GameMaker: Studio biedt een Surface je een andere laag, om zo te zeggen, waarop je kunt tekenen. In het begin gebruikte je waarschijnlijk alleen Sprites en achtergrondkleuren om een achtergrondeffect in een ruimte te creëren. In wezen kun je met behulp van Surfaces bovenop je achtergrond (het scherm) tekenen als je effecten wilt toevoegen tijdens het spel.
Stel dat je een schietspel hebt waarin de speler granaten kan gooien. Wanneer de speler de granaat gooit, treedt er een explosie op. Wanneer de explosie optreedt, wilt u dat een deel van het scherm beschadigd lijkt.
Je creëert het schade-effect met behulp van Surfaces, in zoverre dat de schade op het scherm verschijnt nadat de granaat ontploft. Andere toepassingen voor Surfaces zijn het toevoegen van schaduwen en lichten om het uiterlijk en het gevoel van je spel te voltooien.
Voor het maken van oppervlakken moet u code schrijven met de GameMaker-taal.
Evenementen en acties in GameMaker: Studio bevat gebeurtenissen en acties voor tekenen. De basistekenfunctie trekt rechtstreeks naar het scherm. Dat wil zeggen, als je een draw_circle-functie hebt in de Draw-gebeurtenis, zie je een cirkel op het scherm verschijnen.
Als u een effect bovenaan het scherm wilt tekenen, moet u het tekeningdoel wijzigen in een Surface. Vervolgens wordt alle volgende tekening getekend op de oppervlaktelaag in plaats van op het scherm. Om het tekendoel te wijzigen, kunt u de functies draw_surface () gebruiken; deze functies bepalen ook wanneer het effect wordt getekend.
GameMaker trekt het hele spel naar een Surface, bekend als de -toepassing Surface. De Surface van de toepassing is de enige Surface die niet vluchtig is en altijd zal bestaan terwijl je game wordt uitgevoerd. U kunt echter uw eigen Surface maken.
Je wilt je Surface-tekeningen klein houden - hoe groter ze zijn, hoe meer geheugen ze zullen gebruiken. En hoe meer geheugen je gebruikt, hoe groter de kans dat je spel achterblijft of zelfs crasht. Om Surfaces nog complexer te maken, bewaart GameMaker Surfaces als een kracht van twee texturen, zodat een 640-x-480-pixel Surface wordt behandeld als een 1, 024-x-512-pixel textuur in het geheugen.
Probeer de oppervlaktegrootten klein te houden om niet alle VRAM van de computer of het apparaat van de speler te gebruiken.
De standaardpositie voor oppervlakken is altijd de coördinaat (0, 0) in de ruimte. Als u een grote ruimte met weergaven hebt, of als u slechts een kleine oppervlakte wilt voor een speciaal effect, moet u de tekencoördinaten opgeven, verschuiving in de kamer (zoals besproken in de volgende procedures).