Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Gamemaker] 2 scores

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008
  • Reageer

  • bits
  • Registratie: Maart 2006
  • Laatst online: 15-12-2023
Voor informatica moeten we een spel maken in Gamemaker (ja ik weet het, het is niet de hardcore C++ programming, maar het moet zo ;)) en nou heb ik dus een multiplayer spel gemaakt (Bomberman :)).
Natuurlijk is een spel zonder score niet veel en dus wil ik ook 2 scores tegelijk bijhouden.. dit doe ik op dit moment door een in de room creation code van room 0 'global.score_man1=0' te typen. Bij een collision met een explosie krijgt hij er dan 1 bij.. maar zover ben ik nog niet.

Ik wil dat die score in het scherm komt, maar als ik de draw variable functie gebruik, krijg ik een 'unknown variable' error.
Iemand die mij kan helpen om van die error af te komen? :)

  • Elvis
  • Registratie: Juli 2002
  • Laatst online: 18-11-2017

Elvis

Echo Lima Victor India Sierra

Van Game Maker zelf ken ik niets, maar misschien komt het doordat die draw variable functie van jou bijvoorbeeld een integer verwacht terwijl je variable eigenlijk een long is ofzo...
Of mss werkt die functie alleen met chars of strings, en moet je je score variable eerst omzetten naar een string...

edit : na een snelle google ben ik hier voorbij gekomen. Mss kan je hier beter van gebruik maken... :)

Draw Score
With this action you can draw the value of the score at a particular position on the screen. You
provide the positions and the caption that must be placed in front of the score. The score is
drawn in the current font. This action can only be used in the drawing event of an object.
(p. 42 van de .pdf handleiding)
http://www.yoyogames.com/downloads/docs/gmaker.pdf

[ Voor 49% gewijzigd door Elvis op 20-10-2007 19:30 ]

[GoT] TF2 Clan


  • bits
  • Registratie: Maart 2006
  • Laatst online: 15-12-2023
Ja.. maar de draw score ondersteunt maar 1 score tegelijk (volgens mij). Dus dat gaat niet :(
Daarom wil ik het zo doen/proberen...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Kun je die drawfunctie dan niet gewoon twee keer aanroepen met verschillende variabelen?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 20-11 21:40

Not Pingu

Dumbass ex machina

Drawscore kijkt idd alleen naar de standaard score variabele. Vreemd trouwens dat je die error krijgt, ik meen me te herinneren dat die standaard variabelen altijd geinitialiseerd worden.

Maar de oplossing is hier om gewoon zelf een variabele bij te houden en die zelf op het beeld te tekenen. Zie hier.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Great-Storm
  • Registratie: December 2004
  • Laatst online: 08-10 15:20
Ten eerste, het is misschien een idee dit probleem te posten op het desbetreffende GameMaker forum.
Daar lopen allemaal mensen met kennis van GameMaker rond en zij kunnen dus zeer waarschijnlijk sneller/beter jouw vraag beantwoorden.

Even op een rij:
In je begin room, maak je de globale variabele score_man1 met 0 als waarde aan.
Ik zie multiplayer staan dus ik ga er van uit dat je nog meer rooms hebt? Als dat zo is kijk dan dat je wel met de room begint die die variabele aan maakt. Anders bestaat hij natuurlijk niet.
Gebruik voor het weergeven van tekst inderdaad gewoon de draw_text(x,y,string) functie.
Als de bovenstaande zaken kloppen, dan zou het naar mijn weten gewoon moeten werken.

Ik weet niet hoe het zit met de huidige versie van GameMaker maar ik geloof dat de "create" event van een room pas wordt aangeroepen op het moment dat je de room ook daadwerkelijk opent. Dus niet wanneer het spel gestart wordt.
Stel dat je er vanuit gaat dat room0 die score variabele aanmaakt, dan kun je die variabele niet gebruiken tijdens het testen van een andere room (zeg room1) door met die room te beginnen. Je MOET eerst room0 hebben aangeroepen voordat je gebruik kan maken van die variabele in room1.

Mocht dit het probleem niet oplossen, dan is het misschien handig om de desbetreffende code te posten die je gebruikt voor het aanmaken/drawen.

  • bits
  • Registratie: Maart 2006
  • Laatst online: 15-12-2023
Bedankt! Het werkt nu!
Ik had score_man1=0 gedaan in de room creation code, vervolgens een score_controller aangemaakt en die de score laten tekenen in het scherm (met idd de draw_text functie). En als de een dood gaat krijgt de ander er een punt bij!
Pagina: 1