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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Jun 2011
Сообщений: 3
По умолчанию управление разворотом

Приветствую! Я конкретный новичек в этом. Делаю не большую игрушку. Не могу реализовать такое: Стоит герой на клавиатуре нажимается кнопка, герой поворачивается вправо. Затем на клавиатуре нажимается опять эта же кнопка и он поворачивается влево (т.е _xscale = 70 и _xscale = -70) Спасибо.

Старый 16.06.2011, 21:03
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
То есть "поворачивается" - это зеркальное отражение?
Добавляете слушаетля клавиатуры, определяете обработчик событий нажатия, в нем проверяете код нажатой клавиши и в зависимости от него делаете этот разворот для нужного мувика.
В хелпе есть примеры работы у клавиатурой.
__________________
Идите первым!


Последний раз редактировалось mooncar; 16.06.2011 в 21:53.
Старый 17.06.2011, 00:24
SDS вне форума Посмотреть профиль Отправить личное сообщение для SDS Найти все сообщения от SDS
  № 3  
Ответить с цитированием
SDS

Регистрация: Jun 2011
Сообщений: 3
Да, зеркальное отражение. Вот про слушателя клавиатуры я бы послушал) Можно примерчик? А с переменными можно как нибудь ? . И еще где "хелп"? это где "ЧАВО"?

Старый 17.06.2011, 01:13
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Жметe F1 в прграмме Adobe Flash, переходите к AS2 Language Reference, далее класс Key.
Тут вам и синтаксис, и примеры.

PS. Потрудитесь разобраться, как пользоваться хелпом, это половина успеха в работе с флешем.

PPS. Слушатель - это тоже "переменная", класса Object.
__________________
Идите первым!


Последний раз редактировалось mooncar; 17.06.2011 в 01:16.
Старый 17.06.2011, 11:33
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 5  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Цитата:
Сообщение от SDS Посмотреть сообщение
Приветствую! Я конкретный новичек в этом. Делаю не большую игрушку. Не могу реализовать такое: Стоит герой на клавиатуре нажимается кнопка, герой поворачивается вправо. Затем на клавиатуре нажимается опять эта же кнопка и он поворачивается влево (т.е _xscale = 70 и _xscale = -70) Спасибо.
Вот в ооочень давно делал. Вроде все доступно описано.
Поворот персонажа


Последний раз редактировалось vivado; 17.06.2011 в 11:42.
Старый 17.06.2011, 11:49
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
vivado, нежелательно учить новичков неправильным вещам - записи кода на объектах.
__________________
Идите первым!

Старый 17.06.2011, 12:04
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 7  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Цитата:
Сообщение от mooncar Посмотреть сообщение
vivado, нежелательно учить новичков неправильным вещам - записи кода на объектах.
Яж предупредил что ооочень давно делал еще на Macromedia Flash 5, если глянешь код то там еще tellTarget присутствует ))) Кстати а что плохого если он на мувик перса повесит код, подумаешь раньше все так делали пока AS 3.0 не появился, вот тогда то и пошла мода все в одном кадре писать.
А вы хоть бы чем новичкам помогли ток критикуете. Самое простое сделать так...

Например для игры с видом сверху
SDS создай мувик со своим персонажем повернутым наверх и повесь на этот мувик код

Код AS1/AS2:
onClipEvent (load){
speed = 7; // Скорость объекта
}
 
onClipEvent (enterFrame) //для каждого кадра
{
if (Key.isDown(Key.LEFT)) { //При нажатии кнопки НАЛЕВО
 _x -= speed;
 _rotation = 270; //Поворот объекта
 
}
if (Key.isDown(Key.RIGHT)) { //При нажатии кнопки НАПРАВО
 _x += speed;   //Изменение скорости
 _rotation = 90; //Поворот объекта
}
if (Key.isDown(Key.UP)) { //ПРИ нажатии кнопки ВВЕРЖ
 _y -= speed;  //Изменение скорости
 _rotation = 0; //Поворот объекта
}
if (Key.isDown(Key.DOWN)) { //При нажатии кнопки ВНИЗ
 _y += speed;  //Изменение скорости
 _rotation = 180; //Поворот объекта
}
//Проверка на нажатие двух клавиш сразу
//и присваивание поворота в нужную сторону
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP))
 {_rotation = 315;}
if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN))
 {_rotation = 215;}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN))
 {_rotation = 135;}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP))
 {_rotation = 45;}
}
Можно сделать и по другому, писать весь код в одном кадре и не вешать на отдельные объекты, но для начала можно и так...


Последний раз редактировалось vivado; 17.06.2011 в 12:18.
Старый 17.06.2011, 19:07
SDS вне форума Посмотреть профиль Отправить личное сообщение для SDS Найти все сообщения от SDS
  № 8  
Ответить с цитированием
SDS

Регистрация: Jun 2011
Сообщений: 3
Цитата:
Сообщение от vivado Посмотреть сообщение
Вот в ооочень давно делал. Вроде все доступно описано.
Поворот персонажа
Спасибо, но это не то) надо чтобы именно мувик поворачивался зеркально по одной и той же клавише, по двум могу сделать а как по одной нет)

Добавлено через 2 минуты
Цитата:
Сообщение от vivado Посмотреть сообщение
Яж предупредил что ооочень давно делал еще на Macromedia Flash 5, если глянешь код то там еще tellTarget присутствует ))) Кстати а что плохого если он на мувик перса повесит код, подумаешь раньше все так делали пока AS 3.0 не появился, вот тогда то и пошла мода все в одном кадре писать.
А вы хоть бы чем новичкам помогли ток критикуете. Самое простое сделать так...

Например для игры с видом сверху
SDS создай мувик со своим персонажем повернутым наверх и повесь на этот мувик код

Код AS1/AS2:
onClipEvent (load){
speed = 7; // Скорость объекта
}
 
onClipEvent (enterFrame) //для каждого кадра
{
if (Key.isDown(Key.LEFT)) { //При нажатии кнопки НАЛЕВО
 _x -= speed;
 _rotation = 270; //Поворот объекта
 
}
if (Key.isDown(Key.RIGHT)) { //При нажатии кнопки НАПРАВО
 _x += speed;   //Изменение скорости
 _rotation = 90; //Поворот объекта
}
if (Key.isDown(Key.UP)) { //ПРИ нажатии кнопки ВВЕРЖ
 _y -= speed;  //Изменение скорости
 _rotation = 0; //Поворот объекта
}
if (Key.isDown(Key.DOWN)) { //При нажатии кнопки ВНИЗ
 _y += speed;  //Изменение скорости
 _rotation = 180; //Поворот объекта
}
//Проверка на нажатие двух клавиш сразу
//и присваивание поворота в нужную сторону
if (Key.isDown(Key.LEFT) && Key.isDown(Key.UP))
 {_rotation = 315;}
if (Key.isDown(Key.LEFT) && Key.isDown(Key.DOWN))
 {_rotation = 215;}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN))
 {_rotation = 135;}
if (Key.isDown(Key.RIGHT) && Key.isDown(Key.UP))
 {_rotation = 45;}
}
Можно сделать и по другому, писать весь код в одном кадре и не вешать на отдельные объекты, но для начала можно и так...
Спасибо. У меня игра типа "Бокс" вид сбоку два персонажа бегают,дерутся, машут, кричат, вот надо чтоб каждый из них мог повернутся в противоположную сторону. А то бывает что спиной назад приходиться по рингу бегать)

Добавлено через 4 часа 43 минуты
Жду еще подсказк) игра почти готова а вот этой функции очень как не хватает))

Старый 20.06.2011, 12:53
vivado вне форума Посмотреть профиль Отправить личное сообщение для vivado Найти все сообщения от vivado
  № 9  
Ответить с цитированием
vivado

Регистрация: Aug 2010
Сообщений: 282
Введи новую переменную например HeroNapr - для хранения значения отражения и доп. переменную например a которая будет принимать значения 1 и -1 для задания знака отражения. Ну и на нажатие своей кнопки обращайся к функции в которой будет что то типа этого:

Код AS1/AS2:
function povorot(){
if (NaprHero==-100 || a==-1){ a=1; }
else { a=-1; }
hero._xscale = NaprHero*a; //Поворот объекта, hero - имя мувика твоего героя
trace (NaprHero*a);
}
Но правильнее наверное задать условие при котором мувики твоего героя и противника будут поворачиваться друг к другу автоматически, например...
Код AS1/AS2:
 if (hero._x>enemy._x) { 
hero._xscale=-100
enemy._xscale=100
}
 if (hero._x<enemy._x) { 
hero._xscale=100
enemy._xscale=-100
}
ну в общем разберешься )))

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

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

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


 


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


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