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

Регистрация: Jan 2010
Сообщений: 38
По умолчанию Взаимодействие объектов.

Не знаю, что мне делать, переписывал код много раз. Как я себе все это представляю - оно должно работать. Но нет.
Есть два объекта MCball и MCplatform.
Платформа движется под управлением игрока, не выходит за границы экрана.
Шарик крепится сверху платформы и перемещаетя вместе с ней. (Это работает, пока я не добавляю следущее)
Ввожу переменную.
Если игрок нажимает Энтер, переменная становится равной 1.
Если переменная равна 1, шарик отделяется и летит вверх с заданной скоростью. Пока клавиша не нажата, шарик не летит а прикреплен к платформе.

Код AS1/AS2:
//Ball_speed - скорость шарика
var Ball_speed = 4;
//Ball_dx = скорость по  x
//Ball_dy = скорость по  y
var Ball_dx = 2*Math.cos((1-Math.random())*Math.PI)*Ball_speed;
var Ball_dy = Ball_speed;
var Counter: 0;
 
onEnterFrame = function() 
{
 
//Если нажата кнопка
	if (Key.isDown(Key.ENTER)){
		Counter = 1;
	}
	else{
		Counter = 0;
	}
 
//Начальное положение шарика по отношению к платформе. Он прикреплен сверху к ней. 
	//Если кнопка нажата, шарик летит со скоростью.
	if (Counter = 1){
		MCball._x = (MCball._x + Ball_dx);
		MCball._y = (MCball._y + Ball_dy);
	}
	else{
	MCball._x = (MCplatform._x - 1);
	MCBall._y = (MCplatform._y + 4.5); 
	}
}
В итоге при запуске программы я наблюдаю - шарик сразу вылетает с платформы вверх по y и немного под углом. Предыдущая стабильная версия была без переменной Counter и скорости шарика, в ней он постоянно был прикреплен к платформе.
В чем может быть проблема в моем коде? Может что-то не то в определении нажата ли кнопка или нет - тем самым лететь шарику или быть прикрепленным?


Последний раз редактировалось CHLameR; 16.01.2010 в 17:18.