Puntuen kudeaketa

Demagun gure bideojokuan puntuen kudeaketa egin nahi dugula, puntuak irabaziz zenbait objektu hartzerakoan edo etsaiak hiltzerakoan, ala puntuak galduz beste objektu batzuekin topo egitean adibidez...

Zenbait level badaude jolasean zehar, puntuak level batetik bestera zenbatzen jarraitzea nahi dugun ala ez penstatu beharko dugu puntuen kudeaketa nork eraman behar duen ondo aukeratzeko.

Kontutan izan Level bakoitzean LevelSettings objektu desberdina egongo dela, eta levelez aldatzerakoan objektu hori desagertuko dela. Beraz, LevelSettings objektuak egingo balu puntuen kudeaketa, beste level batera pasatzerakoan puntuak zerotik hasiko lirateke berriro. 

Bere gainetik Space eta Game objektuak daude. Horiek finko egongo dira kolas osoan zehar. Beraz, horietako batek puntuen kudeaketa egitea izango litzateke egokiena. 

Hori bai, level bakoitzean, Kontagailua izeneko SpriteText bat ipiniko dugu uneko puntuak erakusteko.

Puntuak aldagaia eta GameVars ZilchScripta

Game objektuari esleitutako GameVars ZilchScript-ean, Puntuak klase aldagaia, definituko dugu, jolasa martxan dagoen bitartean aldagai horrek bere balioa mantendu dezan.

class GameVars : ZilchComponent

{

 //Puntuak inizializatu zeroan

  var Puntuak:Integer=0;

  function Initialize(init : CogInitializer)

  {

  }

  function OnLogicUpdate(event : UpdateEvent)

  {

  }

}

Puntuak irabazi edo galdu

Ondoren, puntual lortu edo galdu egitean, aldagai horren balioa handitu edo txikitu beharko duzu. Horretarako, komando hau erabiliko dugu:

Puntu kopurua handitu :

this.GameSession.GameVars.Puntuak+=1;

edo txikitu:

this.GameSession.GameVars.Puntuak-=1;

Hau normalean CollisionLogic izeneko ZilchZcriptean ipiniko duzu objektu egokiekin talka egiten duenean exekutatzen den atalean. Adibidez, "Txanpona" izeneko objektuarekin talka egiterakoan, Txanpona desagertu eta puntu kopurua handitu.  

Puntuak erakutsi

Horretarako esan dugu level guztietan SpriteText motako objektu bat sortuko dugula (guztietan ezaugarri berdinekin) Kontagailua izenekoa adibidez.

Kontagailua objektuak PuntuakErakutsi ZilchScript bat izango du esleituta, une oro (OnLogicUpdate) Puntuak aldagaiaren balioa erakutsiko duelarik.

class PuntuakErakutsi : ZilchComponent

{

  function Initialize(init : CogInitializer)

  {

    Zero.Connect(this.Space, Events.LogicUpdate, this.OnLogicUpdate);

  }

  function OnLogicUpdate(event : UpdateEvent)

  {

    this.Owner.SpriteText.Text="`this.GameSession.GameVars.Puntuak`";

  }

}

Kontagailua pantailako puntu finko batean egon dadin beti, errezena kamararekin egindako gauza bera egitea da, hau da. Hasieran, kokatu leku egokian kamarak objektua erakusteko egoki deritzozun lekuan. Ondoren, arrastatu Kontagailua Pertsonaiaren gainera eta askatu, kamararekin egin zenuen bezala. Orain, zure pertsonaia mugitzen denean, berarekin batera mugituko dira bai kamara eta bai Kontagailua eta horrela, puntuak beti leku berean ikusiko dira pantailan.
Hori Level guztietan egin beharko duzu eta Level guztietan sortu beharko duzu Kontagailua izeneko SpriteText objektua Puntuak Erakutsi ZilchScriptarekin. 


 

iruzkinik ez:

Argitaratu iruzkina

Idatzi zure komentarioa. Laster argitaratuko dut. Mila esker!