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

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

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

Регистрация: Dec 2012
Сообщений: 4
Attention Движение персонажа по нажатию клавиш

Здравствуйте, друзья! Прошу прощения за неимоверную наглость, но не могли бы вы подсказать мне, каким таким образом нормальные люди делают плавное движение персонажей во флеш играх? Речь идет о TDS (Top Down Shooter - стрелялка с видом сверху, а-ля GTA 1). Вот код, который я использую (на примере движения в правую сторону):

Код AS1/AS2:
onClipEvent (enterFrame) {
	if (Key.isDown(Key.RIGHT)) {
		_x =+5;
	}
}
И точно так же для движения влево, вверх и вниз. Для управления каким-нибудь человечком в принципе пойдет, но у меня в качестве главгероя летающая тарелка. А вот для нее такое резкое и отрывистое движение не подходит. После отпускания клавиши, она в идеале должна еще некоторое время лететь, замедляя скорость, а при нажатии клавиши постепенно разгоняться. Пытался втыкать accel, decay и reduct, но видимо руки не из того места..

Старый 20.12.2012, 20:24
Penance вне форума Посмотреть профиль Отправить личное сообщение для Penance Найти все сообщения от Penance
  № 2  
Ответить с цитированием
Penance

Регистрация: Oct 2012
Сообщений: 4
Вот, похоже это то, что вы искали =) Проверил, работает.

Код AS1/AS2:
var t:Number;
onEnterFrame  = function () {
 
if(Key.isDown(Key.RIGHT)) {
	if(t<10){
		t++
		};
   _x += t
 
	}
	else{t = 0}
}

Старый 20.12.2012, 20:56
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 3  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
каким таким образом нормальные люди делают плавное движение персонажей во флеш играх
Нормальные люди, думаю, заводят вектор движения и скорость, а не напрямую меняют _x и _y. Ибо так, как делаете сейчас вы, у вас движение по диагонали будет в ~1.4 раза быстрее движения по горизонтали или по вертикали.

А для плавности можно просто менять скорость, не трогая, соответственно, направление.
__________________
hauts.ru


Последний раз редактировалось Hauts; 20.12.2012 в 21:07.
Старый 20.12.2012, 21:05
Guyv3r вне форума Посмотреть профиль Отправить личное сообщение для Guyv3r Найти все сообщения от Guyv3r
  № 4  
Ответить с цитированием
Guyv3r

Регистрация: Dec 2012
Сообщений: 4
Цитата:
Сообщение от Penance Посмотреть сообщение
Вот, похоже это то, что вы искали =) Проверил, работает.
Странно, у меня не пошло.. Может не та версия флеша? Я использую Macromedia Flash 8 (Action Script 2)

Цитата:
Сообщение от Hauts Посмотреть сообщение
Нормальные люди, думаю, заводят вектор движения и скорость, а не напрямую меняют _x и _y. Ибо так, как делаете сейчас вы, у вас движение по диагонали будет в ~1.4 раза быстрее движения по горизонтали или по вертикали.
Спасибо за совет Еще бы знать как это делать.. Вообще я только начал изучать флеш, поэтому и способы реализации задуманного такие ламерские

Старый 26.12.2012, 15:45
EndoCrinologist вне форума Посмотреть профиль Отправить личное сообщение для EndoCrinologist Найти все сообщения от EndoCrinologist
  № 5  
Ответить с цитированием
EndoCrinologist
 
Аватар для EndoCrinologist

блогер
Регистрация: Feb 2011
Адрес: Россия, Тольятти
Сообщений: 301
Записей в блоге: 10
есть хорошая статья. всё там есть ((С) на утро вышла черепаха)
http://flashok.ru/blog/blog/razrabot...ie-geroem.html
Она в пяти частях. Внизу ссылки по которым перейдешь на следующие. Мне очень помогла она
__________________
Надо сменить подпись...

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

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

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


 


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


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