Направете своята безплатна регистрация и се възползвайте от пълните възможности, които предлага 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.

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

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