game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?
+  Forums
|-+  Werken met Game Maker
| |-+  Tutorials en Uitbreidingen (Moderator: Maarten Baert)
| | |-+  [Scr] Regelmatige veelhoeken tekenen
Pagina's: [1]
« vorige volgende »
Print
Advertenties

Blijbol
Oud-beheerder


Offline Offline

Berichten: 2898

Vragen over GM per PM zijn ongewenst.


WWW
« Gepost op: 20 Augustus 2006, 20:15:22 »

Regelmatige veelhoeken tekenen
GM versie:
Game Maker 6.x
Niveau: gevorderden
Registratie vereist: ja

Dit script kan worden gebruikt om regelmatige veelhoeken te tekenen. Deze veelhoeken kunnen bestaan uit een willekeurig aantal hoeken en kunnen een zelf gekozen grootte hebben. Ook kan de vorm op veel verschillende manieren worden ingekleurd, en met een variabel aantal graden om zijn middelpunt worden gedraaid. Om te experimenteren wat alle parameters doen, is er ook een example beschikbaar, welke je kunt downloaden door hier te klikken (9 kB).



Syntax

draw_polygon ( x, y, corners, radius, kind [, closed [, rotation]] )

Tekent een regelmatige veelhoek.
x: x-coördinaat van het midden
y: y-coördinaat van het midden
corners: aantal hoeken, minimaal 3
radius: straal in pixels
kind: één van de volgende waarden:
pr_pointlist: tekent stippen op de hoeken
pr_linelist: tekent van elke twee zijden de eerste wel en de tweede niet
pr_linestrip: tekent de volledige omtrek
pr_trianglelist: tekent losstaande driehoeken tegen de binnenkanten van de zijden
pr_trianglestrip: tekent overlappende driehoeken tegen de binnenkanten van de zijden
pr_trianglefan: tekent de volledige oppervlakte
closed: of de veelhoek gesloten is (true) of één zijde open is (false, standaardwaarde)
rotation: rotatie in graden om het midden, tegen de klok in (standaard geen rotatie)

Broncode

GML:
var xpos, ypos, rot, dir, side;
xpos = argument0 - lengthdir_y(argument3, argument6);
ypos = argument1 + lengthdir_x(argument3, argument6);
rot = 360 / argument2;
dir = argument6 + rot / 2;
side = sqrt(32) * argument3 / argument2;
draw_primitive_begin(argument4);
repeat(argument2)
{
  draw_vertex(xpos, ypos);
  xpos += lengthdir_x(side, dir);
  ypos += lengthdir_y(side, dir);
  dir += rot;
}
if(argument5) draw_vertex(xpos, ypos);
draw_primitive_end();

Ik weet dat er al een script van Dlaor en een script van Ice Sparks zijn om veelhoeken te tekenen, maar dit script bevat meer functionaliteit.

« Laatste verandering: 25 Februari 2008, 11:32:52 door Marcoscosci »

Mijn Blog

     

Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1]
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2019 Nederlandse Game Maker Community