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

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



В момент, когда ракетка щелкает, мы деактивируем линии в памяти, которые описывают ракетку и делаем маленький трюк: мы используем клип клинообразной формы и выполняем функцию hitTest() между шаром и клином. Если hitTest() дает true, то мы рассчитываем реалистичную реакцию. Как вы знаете, если вы прочитали главу об обнаружении столкновений, hitTest() не является хорошим выбором во многих ситуациях. В данном случае он лишь остается приемлемым. (И как только у меня будет время, я создам независимую от кадров процедуру обнаружения столкновений шара с вращающейся линией.) При создании левой и правой ракеток эта функция также создает ссылки на объекты линий, которые представляют каждую ракетку, leftFlipper и rightFlipper. Эти ссылки могут быть использованы другими функциями для чтения свойств ракетки (таких как угол) или изменения свойств ракетки, например в процессе выполнения поворота. Помнить о недостатках Пока вы узнали о двух слабостях в этой игре. Важно помнить о них, если вы пытаетесь сделать игру лучше. Взаимодействие между двумя линиями, такими как стороны треугольника, вызывает странные краевые эффекты. Это может привести к тому, что шар будет делать вещи, которых вы не ожидаете, или не хотите. В процессе поворота ракетки мы используем функцию hitTest(), совместно с клинообразным клипом, для обнаружения наличия столкновения. initializeShot() Эта функция вызывается в конце функции buildMap(), а также всякий раз, когда шар падает в ловушку. Она используется для активизации стартовой доски, инициализации некоторых переменных, и размещения пинбола над поршнем. Когда эта функция выполнена, пинбол готов к запуску. 1 function initializeShot(){ 2 inPlay =true; 3 launchBank.enabled =true; 4 launchBank.counter =0; 5 rightWallOn =false; 6 shotYet =false; 7 ball.xmov =0; 8 ball.ymov =0; 9 ball.x =cradle._x; 10 ball.y =cradle._y-100; 11 ball.tempx =ball.x; 12 ball.tempy =ball.y; 13 shotPower =0; 14 shotMax =30; 15 } В строке 2 мы устанавливаем inPlay в true
Hosted by uCoz