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)
| | |-+  [Exa] Splitscreen engine voor 2/4 spelers
Pagina's: 1 [2]
« vorige volgende »
Print
Advertenties

Ant-99
Gebruiker


Offline Offline

Berichten: 194


WWW
« Antwoord #15 Gepost op: 28 December 2010, 16:58:43 »

Mijn Hbor is 500, als ik die moet delen door 3 krijg ik 166,666666666666666666666666666 uit. Oplossing ?

Naar boven Gelogd

BlueMoonProductions
Globale moderator


Offline Offline

Berichten: 5636

Vanaf heden ook verkrijgbaar in groen en rood.


WWW
« Antwoord #16 Gepost op: 28 December 2010, 16:59:55 »

167 invullen?


Naar boven Gelogd

Ant-99
Gebruiker


Offline Offline

Berichten: 194


WWW
« Antwoord #17 Gepost op: 28 December 2010, 17:01:05 »

167 invullen?
Ga je dan geen verschil zien ?

Naar boven Gelogd

BlueMoonProductions
Globale moderator


Offline Offline

Berichten: 5636

Vanaf heden ook verkrijgbaar in groen en rood.


WWW
« Antwoord #18 Gepost op: 28 December 2010, 17:02:19 »

Neuh, een pixel kan niet half, of voor 0.666666de deel gevuld zijn, toch?


Naar boven Gelogd

Ant-99
Gebruiker


Offline Offline

Berichten: 194


WWW
« Antwoord #19 Gepost op: 28 December 2010, 17:05:32 »

Het werkt ! Hoe moet er nu een lijntje tussen ?

« Laatste verandering: 29 December 2010, 14:35:12 door Ant-99 »
Naar boven Gelogd

Super Yoshi
Gebruiker


Offline Offline

Berichten: 270

Goomba


WWW
« Antwoord #20 Gepost op: 12 Januari 2011, 15:43:07 »

Dankje, het is gelukt!


www.supermario-honkbal.webklik.nl.
Lid van JVGames.

Doel:
500 berichten     (bullet bill)
1000 berichten   (DK)
1500 berichten   (shy guy)
2000 berichten   (bowser)
3000 berichten   (peach)
5000 berichten   (Daisy)
10000 berichten  (Luigi)
20000 berichten  (Mario)
50000 berichten  (Yoshi)
100000 berichten (Nintendo pro)
200000 berichten
(Cool Nintendo game maker pro fan)
Naar boven Gelogd

BlueMoonProductions
Globale moderator


Offline Offline

Berichten: 5636

Vanaf heden ook verkrijgbaar in groen en rood.


WWW
« Antwoord #21 Gepost op: 21 September 2011, 05:33:30 »

Soort van geüpdate.

De tutorial was behoorlijk onbruikbaar aangezien hij één specifieke 'opstelling' gaf. Bovendien leent dit onderwerp zich beter voor een example dan een tutorial, dus heb ik de tutorial er uit geknipt.

Voor wie hem nog wil hebben:

SPLITSCREEN TUTORIAL + EXAMPLE

Tot mijn verbazing was er nog geen echte splitscreen-tutorial op dit forum te vinden. Wel korte verwijzingen, maar nog geen echte uitleg. Dus heb ik die zware taak maar op me genomen!  Blij

GM-versie: Game Maker 7 en GameMaker 8 in elk geval, misschien ook Game Maker 5 en Game Maker 6
Registratie vereist: Nee
Niveau: Gemiddeld

Splitscreen is erg handig bij offline-multiplayer-games. Vaak wordt in dit soort spellen alleen player1 gevolgd, en moet player2 maar hopen dat hij bijvoorbeeld niet in een gat valt. Met splitscreen geef je beide spelers een eigen view, zodat dat niet kan gebeuren.

Met deze tutorial probeer ik jullie te leren hoe je makkelijk een splitscreen engine maakt.

KORTE UITLEG VIEWS
Om een splitscreen engine te maken, maken we gebruik van views. Die vind je onder de tab 'views' in Room Properties(gewoon op je room klikken dus).

Dit kan als je voor het eerste views gebruikt wat onduidelijk zijn, dus leg ik het eerste even uit. Als je al weet hoe je views moet gebruiken kun je naar het tweede stukje.

Allereerst moet je een vinkje zetten bij ‘Enable the use of Views’(Vrij vertaald: Sta het gebruik van Views toe)
Daaronder zie je een lijstje met views(8 views, 0 tot en met 7). View 0  staat automatisch geselecteerd. Onder het lijstje zet je weer een vinkje, bij ‘Vissible when room starts’(Zichtbaar wanneer de room wordt gestart). Dit geld dus alleen voor View 0.
Bij ‘View in room’ kun je de grote van het scherm bepalen, en waar het komt, standaard ingesteld op 0,0 tot 640,480, wat dus betekend dat dat gebied te zien is. Bij ‘Port on screen’ kun je instellen hoe groot het window wordt(Je kan dit dus naar 0,0 en 320,240 zetten, dan wordt het scherm 50% verkleind.
Als je een groot scherm gebruikt past het niet altijd. Daarvoor is het stukje ‘Object following’.
Selecteer bij object following de hoofdpersoon, en bij Hbor en Vbor waar je hem in de room wil hebben(neem bij een scherm van 640x480 bijv. 320x240 om hem in het midden van het scherm te houden), en zet bij Hsp en Vsp -1. De Hsp en Vsp zijn de snelheid waarmee je hoofdpersoon wordt gevolgd. 0 IS DUS HELEMAAL GEEN BEWEGING! En -1 betekent dat het gewoon net zo snel als het object gaat, oftewel je object vliegt je scherm niet uit Knipoog.

SPLITSCREEN
Het is je ondertussen waarschijnlijk wel duidelijk geworden hoe het moet, maar hier toch nog de uitleg:
(Je kan dit letterlijk overnemen, als je het stukje hierboven leest is het wel duidelijk, als je toch nog vragen hebt kun je ze posten)
(We gaan hier uit van een te grote room waarbij je een scherm van 640x480 wil, met gelijke verdeling van de ruimte, naast elkaar.)
Vink ‘Enable the use of Views’ aan, en selecteer View 0. Vink daar ‘Visible when room starts’ aan, en vul bij ‘View in room’ bij ‘W:’ 320 in. Bij ‘Port on screen’ vul je hetzelfde in.
Bij ‘Object following’ vul je obj_player1 in(of hoe je player1 ook heet), en bij Hbor 160 in en bij Vbor 240.
Hierna klik je op View 1, en neem je het bovenstaande stukje een 2e keer over, met als uitzonderingen:
Bij X: in ‘View in room’ vul je 320 in i.p.v. 0(die er al staat),
Bij X: van ‘Port on screen’ doe je hetzelfde,
Bij ‘Object following’ vul je obj_player2 in(of hoe je player2 ook heet)
Bij Hbor vul je 480 in i.p.v. 160.
Je hebt nu een splitscreen engine gemaakt!

VIER SPELER-SPLITSCREEN
Niet heel moeilijk, maakt gewoon nog 2 views, maar veranderd de ‘view in room’ per speler voor ieder een-vierde van het scherm(voor ons voorbeeld 320x240), net als de ‘Port on screen’ Natuurlijk neem je niet voor iedereen het gebied 0,0 tot 320,240.
Ik geef hier geen verdere uitleg over, ik neem aan dat jullie dit na de tutorial hierboven wel kunnen.
Je kunt hier zoveel spelers in stoppen als je wilt, bedenk alleen wel dat het dan een beetje vol wordt, zowel op je scherm als op je toetsenbord.
Voor een drie-speler-splitscreen laat je gewoon het vierde vakje rechtsonderin open als, je ziet daar dan de ‘color outside room region’(in te stellen bij de tab ‘Backgrounds’)

EXTRA RUIMTE VOOR SCORE/HEALTH/ ETC.
Het kan natuurlijk ook zijn dat je nog een extra vakje wil waar je bijvoorbeeld de naam van je spel, de score van de spelers ofzo in wilt zetten.
(We nemen weer het voorbeeld van het stukje SPLITSCREEN)
Verander voor View 0  zowel bij ‘View in room’ als ‘Port on screen’ de W: naar 300, en bij Hbor vul je 150 in.
Bij View 1 verander je bij de X: van ‘View in room’ en ‘Port on screen’ naar 340.
Maak nu een derde view(View 2), en vul bij ‘Port on screen’ in:
X:300
Y:0
H:340
W:480
Bij ‘View in room’ vul je een gebied in dat je ver buiten het zicht van de players hebt gemaakt met een grote van 40x480, zonder een ‘Object following’, waarin je de score door bijv. de controller laat drawen.

VIEW_CURRENT
View_current is een variable die automatisch is ingebouwd bij GameMaker. Hij is alleen iets anders dan de andere variables, jij kan hem niet veranderen. (Nou ja, niet in de game zelf) View_current is de view. Dus: als je in view 4 aan het drawen bent, is view_current 4. Dit is handig om verschillende dingen weer te geven in verschillende views. Zonder view_current zou bijvoorbeeld de HUD van speler 1 ook in de view van speler 2 verschijnen, wat natuurlijk niet de bedoeling is. View_current kan je alleen gebruiken in een draw event.
Maar hoe pas je dit nou toe?
Bijv:
GML:
if view_current = 0
draw_sprite(spr_player1_hud,0,view_xview[view_current],view_yview[view_current])
if view_current = 1
draw_sprite(spr_player2_hud,0,view_xview[view_current],view_yview[view_current])
Hiermee komt de HUD van speler 1 enkel in de view van speler 1, en die van speler 2 ook enkel in de view van speler2.
Nog een voorbeeld:
GML:
///voor player 1
if view_current = 0
draw_healthbar(x1,y1,x2,y2,player1.levens,backcol,mincol,maxcol etc.
///voor player 2
if view_current = 1
draw_healthbar(x1,y1,x2,y2,player2.levens,backcol,mincol,maxcol etc.

Verder is hier ook nog een example:
http://easy-upload.nl/f/yZTZylyx (GameMaker 8)

De example is vrij kort, als er behoefte is aan meer in de example stuur me dan een PM.

Vragen over de tutorial kunnen hieronder gepost worden.

BlueMoonProductions


Naar boven Gelogd

thoot-je
Gebruiker


Offline Offline

Berichten: 3232

Je kan me wakker maken voor een kop tomatensoep :D


WWW
« Antwoord #22 Gepost op: 21 September 2011, 14:51:30 »

wth  Verrast
waarom gooi je je tut weg uit de beginpost?
je kan het toch gwn laten staan?
naja, ik heb het niet nodig hoor Knipoog
wel goeie uitleg


Mijn website: thomasbaake.nl

De 2 belangrijkste dingen in het leven: Productief zijn en extreem veel genieten
Naar boven Gelogd

huubbuter
Gebruiker


Offline Offline

Berichten: 43


« Antwoord #23 Gepost op: 25 Oktober 2011, 15:06:43 »

bij mij lukgftt het niet

« Laatste verandering: 29 Augustus 2012, 18:22:28 door Maarten Baert »
Naar boven Gelogd

size43
Gebruiker


Offline Offline

Berichten: 3512


WWW
« Antwoord #24 Gepost op: 25 Oktober 2011, 15:27:02 »

bij mij lukgftt het niet

Misschien handig om te vertellen wát er niet lukt?


GameMaker Server+: Online INIs, achievements en multiplayer.
[HTML5]WhatShallIMake? - Background Generator - Green's Blobs
Naar boven Gelogd

Ceymoonie
Gebruiker


Offline Offline

Berichten: 4836


WWW
« Antwoord #25 Gepost op: 28 Augustus 2012, 20:46:52 »

Nice!

-C

« Laatste verandering: 18 Juli 2013, 16:07:43 door Ceymoonie »
Naar boven Gelogd

Ceymoonie
Gebruiker


Offline Offline

Berichten: 4836


WWW
« Antwoord #26 Gepost op: 18 Juli 2013, 16:09:13 »

Sorry hoor, maar dit verdient gewoon een bumb!
Ik gebruik dit al vanaf het begin als splitscreen, en ik vind dat dit gewoon weer bij de tutorials hoort te staan =).

Ik hoop dat niemand mij die bumb kwalijk neemt...

-C

Naar boven Gelogd

Lucas De Smet
Gebruiker


Geblokkeerd!
Offline Offline

Berichten: 1609

Error 404


« Antwoord #27 Gepost op: 18 Juli 2013, 18:07:50 »

Ik had sommige elementen van de example nodig. bedankt!



Belley's Adventure (Release:in augustus.) - EGA (Van Red Owl Games)





Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: 1 [2]
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