English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



В строке 8 мы устанавливаем временную позицию шара в памяти, вызывая функцию getTempPositions(). В следующей строке мы перехватываем нажатия клавиш, вызывая captureKeys(). Эта функция проверяет, нажаты ли кнопки Ctrl (Windows), Command (Mac), Shift, или пробел. Более подробно вы узнаете об этой функции позднее. В последних строках события onEnterFrame мы вызываем процедуры обнаружения столкновений (если никаких столкновений еще не было обнаружено), проверки столкновения со стенками и затем вызываем функцию patch(). buildMap() Эта функция размещает все объекты и описывает стенки в памяти. То, что делается в этой функции, критично – а также временами запутанно. В этой функции мы Инициализируем некоторые переменные, которые будут использоваться на протяжении всей игры, такие как score и numBalls. Создаем переменные, которые хранят координаты четырех стенок доски пинбола. Создаем несколько линий в памяти для ракеток, рельс, треугольников и стартовой доски. (Это запутанная часть.) Добавляем амортизаторы на карту в памяти. Ниже представлена эта функции: 1 function buildMap(){ 2 numBalls =3; 3 score =0; 4 lastScoreLevel =0; 5 lastBigScoreLevel =0; 6 startx =250; 7 starty =50; 8 width =225; 9 height =300; 10 var heightFromBottom =100; 11 //левый треугольник 12 var diagLength =70; 13 var diagAng =60; 14 var cosAng =Math.cos(diagAng*Math.PI/180); 15 var sinAng =Math.sin(diagAng*Math.PI/180); 16 //левый треугольник, внутренняя стена 17 var x =startx+20; 18 var y =starty+height-heightFromBottom-55; 19 l =createLine(x,y,diagAng,diagLength,2, .left_triangle,"laser"); 20 var sx =l.x2; 21 var sy =l.y2; 22 // левый треугольник, левая стена 23 var x =l.x1; 24 var y =l.y1+diagLength*sinAng*.6; 25 l =createLine(x,y,269,diagLength*sinAng*.6,1); 26 // левый треугольник, нижняя стена 27 var ex =l.x1; 28 var ey =l.y1; 29 var ang =Math
Hosted by uCoz