Показать сообщение отдельно
Старый 27.02.2014, 15:03
tihomir вне форума Посмотреть профиль Отправить личное сообщение для tihomir Найти все сообщения от tihomir
  № 36  
Ответить с цитированием
tihomir

Регистрация: Feb 2014
Сообщений: 30
Попробовал так:
Код AS3:
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var stopwolf1:Stopwolf = new Stopwolf();
addChild(stopwolf1);
stopwolf1.x = 100
stopwolf1.y = 100
var gowolf1:Gowolf = new Gowolf();
addChild(gowolf1);
gowolf1.x = 100
gowolf1.y = 100
var gowolfleft1:Gowolfleft = new Gowolfleft();
addChild(gowolfleft1);
gowolfleft1.x = 100
gowolfleft1.y = 100
var speed = 30;  
stage.addEventListener(KeyboardEvent.KEY_DOWN, go);  
function go(e:KeyboardEvent):void {      
if (e.keyCode==Keyboard.LEFT) {           
		gowolfleft1.x -= speed;
		gowolf1.x = stopwolf1.x = gowolfleft1.x; // смещаем все клипы вместе
		stopwolf1.visible = false; // устанавливаем видимость клипов
		gowolf1.visible = false;
		gowolfleft1.visible = true;
	}
if (e.keyCode==Keyboard.RIGHT) {           
gowolf1.x += speed;
gowolfleft1.x = stopwolf1.x = gowolf1.x; // смещаем все клипы вместе
stopwolf1.visible = false; // устанавливаем видимость клипов
gowolf1.visible = true;
gowolfleft1.visible = false;
}
else // если не нажата ни одна из клавиш - стоим
	{
		stopwolf1.visible = true;
		gowolf1.visible = false;
		gowolfleft1.visible = false
	}
}
Он зашевелился, но при запуске на сцене появляются все 3 объекта, и при движении влево движется stopwolf а не gowolfleft при движении вправо он шагает но при отпускании клавиш символ stopwolf не выводится, остаётся gowolf.

Добавлено через 17 часов 19 минут
Вот:
Код AS3:
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var stopwolf1:Stopwolf = new Stopwolf();
addChild(stopwolf1);
stopwolf1.x = 100
stopwolf1.y = 100
var gowolf1:Gowolf = new Gowolf();
addChild(gowolf1);
gowolf1.x = 100
gowolf1.y = 100
gowolf1.visible = false;
var gowolfleft1:Gowolfleft = new Gowolfleft();
addChild(gowolfleft1);
gowolfleft1.x = 100
gowolfleft1.y = 100
gowolfleft1.visible = false;
var speed = 30;  
stage.addEventListener(KeyboardEvent.KEY_DOWN, go);  
function go(e:KeyboardEvent):void {      
{
	if (e.keyCode==Keyboard.LEFT) //если нажата только(!) левая клавиша - шагаем влево
	{
		gowolfleft1.x -= speed;
		gowolf1.x = stopwolf1.x = gowolfleft1.x; // смещаем все клипы вместе
		stopwolf1.visible = false; // устанавливаем видимость клипов
		gowolf1.visible = false;
		gowolfleft1.visible = true;
		return;
	}
	else if (e.keyCode==Keyboard.RIGHT)
	{
		gowolf1.x += speed;
		gowolfleft1.x = stopwolf1.x = gowolf1.x; // смещаем все клипы вместе
		stopwolf1.visible = false; // устанавливаем видимость клипов
		gowolf1.visible = true;
		gowolfleft1.visible = false;
		return;
	}
 
	else // если не нажата ни одна из клавиш - стоим
	{
		stopwolf1.visible = true;
		gowolf1.visible = false;
		gowolfleft1.visible = false;		
	}
}
}
Он зашагал и даже как надо, но при отпускании клавиш остаётся символ gowolf или gowolfleft а по идее надо stopwolf чтобы появлялся

Добавлено через 23 часа 18 минут
Ура Ура! ) Почти победил! Но вот только он шагать начинает как то странно, как бы с пробуксовкой, нажимаю например влево появляется символ gowolfleft, но передвигаться начинает он спустя примерно секунду, как это можно победить?

Вот код:
Код AS3:
var leftPressed:Boolean = false;
var rightPressed:Boolean = false;
var stopwolf1:Stopwolf = new Stopwolf();
addChild(stopwolf1);
stopwolf1.x = 100
stopwolf1.y = 100
var stopwolf2:Stopwolf = new Stopwolf();
addChild(stopwolf2);
stopwolf2.x = 100
stopwolf2.y = 100
stopwolf2.scaleX = -1; // стоящий волк отражен по горизонтали
stopwolf2.visible = false; // устанавливаем видимость клипов
var gowolf1:Gowolf = new Gowolf();
addChild(gowolf1);
gowolf1.x = 100
gowolf1.y = 100
gowolf1.visible = false; // устанавливаем видимость клипов
var gowolfleft1:Gowolf = new Gowolf();
addChild(gowolfleft1);
gowolfleft1.x = 100
gowolfleft1.y = 100
gowolfleft1.visible = false; // устанавливаем видимость клипов
gowolfleft1.scaleX = -1; // идущий волк вправо отражен по горизонтали
var speed = 30;  
stage.addEventListener(KeyboardEvent.KEY_DOWN, go);
stage.addEventListener(KeyboardEvent.KEY_UP, st);
 function st(e:KeyboardEvent):void // функция отпущеных клавиш
 {
        if (e.keyCode == Keyboard.LEFT)
        {
        stopwolf2.visible = true;
		gowolf1.visible = false;
		gowolfleft1.visible = false;		
        }
		 else if (e.keyCode == Keyboard.RIGHT)
		 {
        stopwolf1.visible = true;
		gowolf1.visible = false;
		gowolfleft1.visible = false;		
        }
 }
function go(e:KeyboardEvent):void {      
{
	if (e.keyCode==Keyboard.LEFT) //если нажата только(!) левая клавиша - шагаем влево
	{
		gowolfleft1.x -= speed;
		gowolf1.x = stopwolf1.x = stopwolf2.x = gowolfleft1.x; // смещаем все клипы вместе
		stopwolf2.visible = false; // устанавливаем видимость клипов
		stopwolf1.visible = false; 
		gowolf1.visible = false;
		gowolfleft1.visible = true;
		return;
	}
	else if (e.keyCode==Keyboard.RIGHT)
	{
		gowolf1.x += speed;
		gowolfleft1.x = stopwolf2.x = stopwolf1.x = gowolf1.x; // смещаем все клипы вместе
		stopwolf1.visible = false; // устанавливаем видимость клипов
		stopwolf2.visible = false;
		gowolf1.visible = true;
		gowolfleft1.visible = false;
		return;
	}
 
	}
}


Последний раз редактировалось tihomir; 28.02.2014 в 14:22.