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

Регистрация: Apr 2013
Сообщений: 82
По умолчанию Движение одного мувиклипа к другому

Добрый вечер! Месяц назад увлёкся флэшем и созданием флэш-игр. Сейчас делаю свою первую крупную игру, и столкнулся вот с такой проблемой: как заставить один мувиклип постоянно двигаться к другому мувиклипу, которым руководит пользователь? Я написал вот такой код:

Код AS1/AS2:
function newBalloon() {
	if (nextBalloon < numBalloons) {
 
		if (getTimer() > nextBalloonTime) {
 
			if (Math.Random() < .3) {
 
				attachMovie("balloon", "balloon"+nextBalloon, nextBalloon);
 
				if (Math.Random() < .3) {
					_root["balloon"+nextBalloon]._x = -30;
					dx = int(Math.Random()*1)+1;
				} else {
					_root["balloon"+nextBalloon]._x = 700;
					dx = -int(Math.Random()*1)-1;
				}
 
				_root["balloon"+nextBalloon]._y = int(Math.Random()*600)+20;
 
				balloons.push({clip: "balloon"+nextBalloon, d: dx});
 
				nextBalloon++;
				nextBalloonTime = getTimer() + 2000;			
 
			}
		}
       }
}
 
function moveBalloons() {
	for(i=balloons.length-1;i>=0;i--) {
 
		dx = balloons[i].d;
		balloon = _root[balloons[i].clip];
 
		balloon._x += dx;
 
		if ((dx < 0) and (balloon._x < -20)) {
			balloon.removeMovieClip();
			balloons.splice(i,1);
 
			} else if ((dx > 0) and (balloon._x > 570)) {
			balloon.removeMovieClip();
			balloons.splice(i,1);
		}
	}
 
	if ((nextBalloon >= numBalloons) and (balloons.length < 1)) {
		gotoAndStop("game over");
	}
}

Но потом решил сделать, что бы эти клипы двигались к другому клипу. Но в итоге я смог достичь только то, что клипы которые создаються справа движутся налево и наоборот. Но как сделать, что бы они двигались к другому клипу? Я пробовал решить проблемку с помощью такого кода:


Код AS1/AS2:
				if (strawPos.x < balloon[i].x) {
					var dx = -balloonSpeed;
				} else if (strawPos.x > balloon[i].x) {
					var dx = balloonSpeed;
				}

Но клипы тогда вообще не двигаются.


Последний раз редактировалось mooncar; 24.04.2013 в 22:25.