Käyttäjän työkalut

Sivuston työkalut


peliohjelmointi

Tämä on vanha versio dokumentista!


BreakOut klooni

Breakout-peli on vanha klassikko, voit katsoa vaikkapa http://atari.com/arcade#!/arcade/superbreakout/play tai http://www.gamesgames.com/games/breakout, jollet tiedä, mistä puhutaan.

Pelikenttä

Aloita uusi projekti, nimeä se vaikka nimellä Arkanoid.

Valitse GameObject → Create Other → Cube ja anne sille nimeksi ”Pelikenttä”.

Muuta skaala (30,30,1) ja väriksi vihreä.

Siirrä Main Camera (0,0,-30).

Lisää Point Light (0,0,-10) ja muuta sen arvo Range 100.

Talleta Scene.

Luodaan pelille reunat.

Luo Cube kohtaan (0,15,0) ja Scale (30,1,1) ja anna sille nimeksi RajaYlä.

Muuta Pelikantän Z-koordinaatiksi 1.1.

Klikkaa hiiren oikealla RajaYlä → Duplicate ja nimeä kopio RajaVasen. Muuta sijainniksi (-15.5, -0.5, 0) ja Scaleksi (1,32,1)

Kopioi RajaVasen, nimeä kopio RajaOikea ja muuta X-koordinaatiksi 15.5.

Talleta ja kokeile peliä.

Pelaaja

Luo kuutio kohtaan (0, -15, 0) koolla (4, 1, 1). Anna nimeksi maila.

Muuta maila punaiseksi.

Luo skripti Pelaaja:

#pragma strict

function Start () {
}

function Update () {
	if(Input.GetKey("left"))
	{
		transform.Translate(-20*Time.deltaTime, 0, 0);
	}
	if(Input.GetKey("right"))
	{
		transform.Translate(20*Time.deltaTime, 0, 0);
	}

	var h = 30.0 * Time.deltaTime * Input.GetAxis("Mouse X");
	transform.Translate(h, 0, 0);

}

Liitä skripti mailaan ja kokeile toimivuus. Lisätään seuraavaksi mailan ohjaus hiirellä:

#pragma strict

function Start () {
	Screen.lockCursor = true;
}

function Update () {
	if(Input.GetKey("left"))
	{
		transform.Translate(-20*Time.deltaTime, 0, 0);
	}
	if(Input.GetKey("right"))
	{
		transform.Translate(20*Time.deltaTime, 0, 0);
	}

	var h = 30.0 * Time.deltaTime * Input.GetAxis("Mouse X");
	transform.Translate(h, 0, 0);

}

Testaa toimivuus.

Pallo

Luo Sphere kohtaan (0, -7, 0) ja vaihda nimeksi Pallo. Muuta sen väriksi keltainen.

Valitse Pallo → Add Component → PalloSkripti koodilla:

#pragma strict

var BeepSound : AudioClip;

static var launchtimer: float;
static var xspeed : float;
static var yspeed : float;
static var collflag : boolean;

function Start () {
	launchtimer = 2.0;
	xspeed = 8.0;
	yspeed = 8.0;
	collflag = true;
}

function Update () {
	transform.position.z = 0;
	launchtimer -= Time.deltaTime;
	if(launchtimer <= 0.0)
	{
		transform.Translate(Vector3(xspeed, yspeed, 0) * Time.deltaTime);
		launchtimer = 0.0;
	}
}

function OnTriggerEnter(other: Collider)
{
	audio.PlayOneShot(BeepSound);
}

Tarvittavan äänitiedoston voit etsiä netistä tai ladata .

Valitse Pallo → Add Component → Audio → Audio Source ja liitä äskeinen ääni Palloon.

Talleta ja kokeile peliä.

Valitse ”Play on Awake” pois, niin ääni ei kuulu pelin alussa.

Törmäykset

Luo skripti Seinä

#pragma strict

function Start () {

}

function Update () {

}

function OnTriggerEnter(other: Collider)
{
	PalloOhjaus.xspeed = -PalloOhjaus.xspeed;
	PalloOhjaus.collflag = true;
}

Yhdistä skripti

Valmis koodi

peliohjelmointi.1396462253.txt.gz · Viimeksi muutettu: 2015/08/13 07:18 (ulkoinen muokkaus)