Направете своята безплатна регистрация и се възползвайте от пълните възможности, които предлага iTSchool

Преглед на урок

Платформена игра ( игра с герой ходещ по земята )

Платформена игра ( игра с герой ходещ по земята )




След като натрупах малко опит в флаш реших
да напиша още един урок за вас....В този урок ще разберете
как да си направите така исканата платформена игра ;)

1.Какво ви трябва...
две MC-та. Едното е Mc-то на героя ви ( няма значение името ) и другото е Mc-то на земята по която ще ходи героя ви. MovieClip-а ТРЯБВА ДА СЕ КАЗВА terrain !!!!!!

След като имате тези две Mc-та правите следното-
Селектирате Mc-то с героя ви, натискате F9, и пишете следното

Код

onClipEvent (load) {     // Когато зареди
	gravity = 0.2;      //Гравитацията е 0.2 (може да я промените)
	yspeed = 0;        // Y скороста е 0
	xspeed = 3;        // X скороста е 3 (може да я промените)
	jumping = 0;       // Героя не скача при зареждане
}
onClipEvent (enterFrame) {    //При влизане в frame
	if (Key.isDown(Key.LEFT)) {   // Ако копчето наляво е натиснато
		if (!_root.terrain.hitTest(_x-_width/2, _y+_height/4, true)) {  // ако този обект се удря в земята
			_x -= xspeed; // задаване на Скорост
		}
	}
	if (Key.isDown(Key.RIGHT)) {  //Ако копчето надясно е натиснато
		if (!_root.terrain.hitTest(_x+_width/2, _y+_height/4, true)) {  //Ако този обект се удря в земята
			_x += xspeed; //задаване на скорост
		}
	}
	if ((Key.isDown(Key.SPACE)) and (!jumping)) { //Ако копчето SPACE е натиснато
		yspeed = -7;    //Задава се yspeed
		jumping = 1;    //Скачането се осъществява
	}
	yspeed += gravity;   // комбиниране на скороста и гравитацията
	while (_root.terrain.hitTest(_x, _y+_height/2, true)) {  //когато този обект се удря в земята
		_y--;
		yspeed = 0;   //скороста е 0
		jumping = 0;  // скачането не се осъществява
	}
	if ((!_root.terrain.hitTest(_x, _y+_height/2+1, true)) or (yspeed<0)) {
		_y += yspeed;
	} else {
		yspeed = 0;
		jumping = 0;
	}
}


Обяснения по кода има в самия код след //





ДЕМО :


http://fighterr.hit.bg/DEMO.swf

Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: metod

Коментари

3D_c00L_b0y

Ако не ви се е получило това е защото на Instance Name не сте написали terrain.

lebroonba

na men geroi4eto mi pada pls pomo6t !!! pi6ete molq!!!! blagodarq predvaritelno

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.