Показать сообщение отдельно
Старый 01.08.2012, 17:21
DoctorQueb вне форума Посмотреть профиль Отправить личное сообщение для DoctorQueb Найти все сообщения от DoctorQueb
  № 1  
Ответить с цитированием
DoctorQueb

Регистрация: Aug 2012
Сообщений: 19
Tools Помогите с платформером (Анимация игрока)

Здравствуйте!
Помогите доделать код для персонажа: суть в том что при прыжке он переходит в анимацию ходьбы, хотя должен проигрывать анимацию прыжка.

Сам пытался проверять переменую touchingGround и grav но не получилось. Всю голову сломал

Код AS1/AS2:
onClipEvent (load) {
	var ground = _root.ground;
	var grav = 0;
	var gravity = 2;
	var speed = 7;
	var maxJump = -12;
	var touchingGround = false;
	var scale = this._xscale;
}
onClipEvent (enterFrame) {
	_y += grav;
	grav += gravity;
	while (ground.hitTest(_x, _y-30, true)) {
		_y -= gravity;
		grav = 0;
	}
	if (ground.hitTest(_x, _y + 5, true))
	{
		touchingGround = true;
	}
	else
	{
		touchingGround = false;
	}
	if (Key.isDown(Key.RIGHT))
	{
		_x += speed;
		this._xscale = scale;
		this.gotoAndStop("walking");
	}
	if (Key.isDown(Key.LEFT))
	{
		_x -= speed;
		this._xscale = -scale;
		this.gotoAndStop("walking");
	}
	if (Key.isDown(Key.UP) && touchingGround)
	{
		grav = maxJump;
		this.gotoAndStop("jumping");
	}
	if (!Key.isDown(Key.UP) && !Key.isDown(Key.RIGHT) && !Key.isDown(Key.LEFT))
	{
		this.gotoAndStop("idol");
	}
	if (!touchingGround && grav > 1)
	{
		this.gotoAndStop("jumping");
	}
	if (ground.hitTest(_x + (_width / 2), _y - (_height / 2), true))
	{
		_x -= speed;
	}
	if (ground.hitTest(_x - (_width / 2), _y - (_height / 2), true))
	{
		_x += speed;
	}
	if (ground.hitTest(_x, _y - (height), true))
	{
		grav = 3;
	}
}
Исходники предоставлены для Flash CS5 и CS4

Заранее спасибо, буду искренне признателен!
Вложения
Тип файла: rar game_cs4.rar (15.6 Кб, 36 просмотров)
Тип файла: rar game_cs5.rar (46.5 Кб, 40 просмотров)


Последний раз редактировалось DoctorQueb; 01.08.2012 в 19:07.