Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.06.2004, 07:23
Smerch вне форума Посмотреть профиль Отправить личное сообщение для Smerch Найти все сообщения от Smerch
  № 1  
Smerch

Регистрация: Jun 2004
Сообщений: 1
По умолчанию Обработка клавиатуры

Знающие люди, помогите! Ниже приведен исходник игры на флэш (управляя площадкой с помощью мыши нужно отбивать шарик). Нужно сделать так, чтобы шарик стартовал только по нажатию пробела. У самого получилось сделать это только при загрузке самого клипа. В какое место и какой код надо вписать, чтобы шарик стартовал по пробелу после того как был пропушен

function init() {
// Кол-во жизней и отбитых мячей
l = 3;
i = 0;
// Начальное положение мяча
x = ball._x;
y = ball._y;
// Начальная скорость
speedX = 5;
speedY = 5;
//Координаты стенок
right = 495;
left = 0;
top = 55;
bottom = 345;
dosright = dos._x+6;
//Радиус мяча
r = 10;
passed=false;
// Прячем курсор
Mouse.hide();
}

function balls() {
// Изменяем значения X и Y
x += speedX;
y += speedY;
// Достиг ли мяч правой стенки
if (x+r>right) {
o = (x+r)-right;
x -= o;
speedX *= -1;
}
//Достиг ли мяч нижней стенки
if (y+r>bottom) {
o = (y+r)-bottom;
y -= o;
speedY *= -1;
}
// Достиг ли мяч верхней стенки
if (y-r<top) {
o = top-(y-r);
y += o;
speedY *= -1;
}

//Отбит ли мяч
if ((x-r)<dosright) {
dostop = dos._y-27;
dosbottom = dos._y+27;
if (((x-r)>left) and (y>dostop) and (y<dosbottom)) {
//Удар о доску
if (passed==false){i++;}
else {i=0; passed=false;}
if (i == 15) {
gotoAndStop(3);
Mouse.show();
} else {
o = dosright-(x-r);
x += o;
speedX *= -1;
// Увеличиваем скорость
speedX *= 1.2;
speedY *= 1.2;
}
} else {
l--;
passed=true;
i = 0;
if (l == 0) {
gotoAndStop(2);
Mouse.show();
} else {
x = dos._x+13;
y = dos._y;
speedX = 5;
speedY = 5;
passed=false;
gotoAndStop(1);
}
}
}
//Новое положение мяча
ball._x = x;
ball._y = y;

if (passed==true) {i=0; }
}
function doska() {
dos._y = _ymouse;
if (dos._y-28<=top) {
dos._y = 83.9;
}
if (dos._y+28>=bottom) {
dos._y = 318;
}
}



onClipEvent(load) {
_root.init();
}

onClipEvent(enterFrame) {
if (Key.getCode() == Key.SPACE)
{
_root.balls();
_root.doska();
}
}

Создать новую тему   Часовой пояс GMT +4, время: 02:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.