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

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

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

Регистрация: Mar 2012
Адрес: Санкт-Петербург
Сообщений: 4
По умолчанию Служебные и не служебные клавишы

в общем я новичок и мало что знаю поэтому делаю много чего по примерам.

Код AS1/AS2:
onEnterFrame = function () {
	if (Key.isDown(Key.LEFT)) {
		hero._rotation -= rotDirSpeed;
	} else if (Key.isDown(Key.RIGHT)) {
		hero._rotation += rotDirSpeed;
это задание служебных клавиш, что переписать что бы получить движение на не служебные W и S?

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
PS. Будьте аккуратнее при копи-пасте кода, не отрезайте скобки.

Код AS1/AS2:
onEnterFrame = function () 
{
	if (Key.isDown(87))  // w
	{
		hero._rotation -= rotDirSpeed;
	} 
	else if (Key.isDown(83)) // s
	{
		hero._rotation += rotDirSpeed;
	}
};
Для того, чтобы узнать, какая клавиша какому коду соответствует, можно вызвать
Код AS1/AS2:
trace(Key.getCode());
__________________
Идите первым!


Последний раз редактировалось mooncar; 22.03.2012 в 12:31.
Старый 22.03.2012, 12:26
оmikron вне форума Посмотреть профиль Отправить личное сообщение для оmikron Найти все сообщения от оmikron
  № 3  
Ответить с цитированием
оmikron

Регистрация: Mar 2012
Адрес: Санкт-Петербург
Сообщений: 4
а еще не подскажите задание движения(скольжение) объекта в левo и право на A и D (от центра объекта, объект поворачивается в сторону мыши)

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
"Кормить рыбой" я вас не буду, лучше дам "сети".

Так вы узнаете код нажатой кнопки, если не знаете:
Код AS1/AS2:
onEnterFrame = function () 
{
   trace(Key.getCode());
};
Вот тут кое-что полезное можете найти.
__________________
Идите первым!


Последний раз редактировалось mooncar; 22.03.2012 в 12:46.
Старый 22.03.2012, 12:36
оmikron вне форума Посмотреть профиль Отправить личное сообщение для оmikron Найти все сообщения от оmikron
  № 5  
Ответить с цитированием
оmikron

Регистрация: Mar 2012
Адрес: Санкт-Петербург
Сообщений: 4
да коды я уже таблицу нашел... просто то что задавал ранее просто объект ведет влево вправо относительно поля а не относительно объекта

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Есть два пути решения:

1. В лоб - просто делать добавку по координатам, равную расстоянию по этим координатам от одного объекта до другого. То есть корректировать некими дельтами по X и Y.
2. Использовать localToGlobal.
__________________
Идите первым!

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

Регистрация: Mar 2012
Адрес: Санкт-Петербург
Сообщений: 4
а приблизительный пример в лоб можно?

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

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

Старый 22.03.2012, 13:35
оmikron вне форума Посмотреть профиль Отправить личное сообщение для оmikron Найти все сообщения от оmikron
  № 9  
Ответить с цитированием
оmikron

Регистрация: Mar 2012
Адрес: Санкт-Петербург
Сообщений: 4
Код AS1/AS2:
if (Key.isDown(87))
 {
		hero.foot.play();
		hero._x += step * Math.cos(dirAngle);
		hero._y += step * Math.sin(dirAngle);
}
                else if (Key.isDown(83)) 
{
		hero.foot.play()
		hero._x -= step * Math.cos(dirAngle);
		hero._y -= step * Math.sin(dirAngle);
если это движение вперед и назад относительно поворота мыши то что дописать что бы влево вправо... разные способы пробовал он у меня двигается почему то в угол экрана

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

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

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


 


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


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