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

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

Игра-състезание с коли за двама играчи  - Част 1

Игра-състезание с коли за двама играчи - Част 1




Днес ще си направим игра с коли. И така да започваме:

1. Отворете нов флаш документ 550x400 след това направете нов леър като го кръстите

triangle p2 . На този слой нарисувайте първата кола, след това я запазете като movie clip, като му зададете instance name: triangle p2. След това кликнете върху колата и отворете Action script полето. Копирайте следният скрипт:

Код

onClipEvent (load) {
	speedMax = 13;
	manuverSpeed = 15;
	accel = 5;
	decay = .9;
	bounce = .25;
	xSpeed = 0;
	ySpeed = 0;
	speed = 0;
}
onClipEvent (enterFrame) {
	speed *= decay;
	xSpeed = speed*Math.sin(_rotation*(Math.PI/180));
	ySpeed = speed*Math.cos(_rotation*(Math.PI/180));
	_x += xSpeed;
	_y -= ySpeed;
	if (_root.collision.hitTest(this._x, this._y, true)) {
		//if current position is inside the level_mc
		_y += ySpeed*1.1;
		//move back to previous position(plus a little)
		_x -= xSpeed*1.1;
		speed = -(speed*bounce);
		//reverse speed, and lose a little speed based on bounce
	}
	if (Key.isDown(68)) {
		this._rotation += manuverSpeed;
	} else if (Key.isDown(65)) {
		this._rotation -= manuverSpeed;
	}
	if (Key.isDown(87)) {
		if (speed<speedMax) {
			speed += accel;
		}
	} else if (Key.isDown(83)) {
		if (speed>-speedMax) {
			speed -= accel;
		}
	}
	if (_x<0) {
		_x = 530;
	}
	if (_x>530) {
		_x = 0;
	}
	if (_y<0) {
		_y = 530;
	}
	if (_y>530) {
		_y = 0;
	}
}

2. Направете нов леар и му задайте следното име: triangle p1. На него нарисувайте другата кола и пак я направете movie clip като след това я преименувате на
triangle 1. Кликнете пак върху въпросния символ и отворете Action script полето и копирайте следния скрипт там:

Код

onClipEvent (load) {
	// Before the actual Clip
	speedMax = 13;
	// Top speed
	manuverSpeed = 15;
	// How fast the car can manouver
	decay = .9;
	// How fast the car slows down
	accel = 5;
	// How fast the car accelerates
	bounce = .25;
	speed = 0;
	// Work it out!
	xSpeed = 0;
	ySpeed = 0;
}
onClipEvent (enterFrame) {
	speed *= decay;
	// How fast the car rotates
	xSpeed = speed*Math.sin(_rotation*(Math.PI/180));
	// Getting the car to rotate
	ySpeed = speed*Math.cos(_rotation*(Math.PI/180));
	// Same as above
	_y -= ySpeed;
	_x += xSpeed;
	if (_root.collision.hitTest(this._x, this._y, true)) {
		//if current position is inside the level_mc
		_y += ySpeed*1.1;
		//move back to previous position(plus a little)
		_x -= xSpeed*1.1;
		speed = -(speed*bounce);
		//reverse speed, and lose a little speed based on bounce
	}
	if (Key.isDown(Key.RIGHT)) {
		// All of this is the input
		this._rotation += manuverSpeed;
	} else if (Key.isDown(Key.LEFT)) {
		this._rotation -= manuverSpeed;
	}
	if (Key.isDown(Key.UP)) {
		if (speed<speedMax) {
			speed += accel;
		}
	} else if (Key.isDown(Key.DOWN)) {
		if (speed>-speedMax) {
			speed -= accel;
		}
	}
	if (_x<0) {
		_x = 530;
	}
	// Getting the car to loop off the screen
	if (_x>530) {
		_x = 0;
	}
	if (_y<0) {
		_y = 530;
	}
	if (_y>530) {
		_y = 0;
	}
}

Засега само това от играта. В следващата част ще направим пистата и останалото.

Първата кола се управлява от:

напред: w
назад: s
наляво: a
надясно: d

Втората: от стрелките

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




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

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

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