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

Регистрация: Dec 2010
Адрес: арх. обл.
Сообщений: 38
Question Остановка героя при столкновение со стенами

Здравствуйте!
Вот пишу игру и с самого начала возникли проблемы:есть герой который двигается по полю с видом сверху, есть стены, при столкновении с которыми герой почему-то улетает в левый верхний угол сцены, хотя должен просто остановиться. Далее привожу код, box-герой, box1-box4- стены, вот код:


Код AS3:
//задаем переменные обозначающие скорость
var speedX:Number;
var speedY:Number;
 
//проверка столкновений задание значения скоростям
stage.addEventListener(Event.ENTER_FRAME, stolknovenie);
function stolknovenie (e:Event):void {
	if (box.hitTestObject(box4) || box.hitTestObject(box1)) {
		speedY == 0;
	}else{
		speedY == 3;
	}
}
 
 
stage.addEventListener(Event.ENTER_FRAME, stolknovenie2);
function stolknovenie2 (e:Event):void {
	if (box.hitTestObject(box2) || box.hitTestObject(box3)) {
		speedХ == 0;
	}else{
		speedX == 3;
	}
}
 
 
//собственно движение героя
box.stop();
stage.addEventListener(KeyboardEvent.KEY_DOWN, moveF);
 function moveF (e:KeyboardEvent):void {
	 if (e.keyCode == Keyboard.UP) {
		 box.y -= speedY;
	     box.gotoAndStop(4);
	 }else if (e.keyCode == Keyboard.DOWN) {
		 box.y += speedY;
		 box.gotoAndStop(2);
	 }else if (e.keyCode == Keyboard.LEFT) {
		 box.x -= speedX;
		 box.gotoAndStop(3);
	 }else if (e.keyCode ==Keyboard.RIGHT) {
		 box.x += speedX;
		 box.gotoAndStop(1);
	 }
 }
Буду очень благодарен за помощь


Последний раз редактировалось reNiks; 02.12.2010 в 12:54.