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

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

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

Регистрация: Jun 2010
Адрес: Земля
Сообщений: 32
Attention Как прекратить движения клипа управляемого с клавиатуры?

Короч вот делаю обьект которым буду управлять с клавиатуры стрелочками.
Вот рисую обьект преобразовываю его в клип называю его "Hero"и пишу на нём
Код AS1/AS2:
onClipEvent (load) {
	h = 1;
}
onClipEvent (enterFrame) {
	if (h) {
		if (Key.isDown(Key.DOWN)) {
			_y += 5;
		} else if (Key.isDown(Key.UP)) {
			_y -= 5;
		} else if (Key.isDown(Key.RIGHT)) {
			_x += 5;
		} else if (Key.isDown(Key.LEFT)) {
			_x -= 5;
		} 
	}
}
Работает! Но как сделать препятствия что он не двигался дальше?
Пожалуйта помогите !!!

Старый 11.06.2010, 13:40
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 2  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 Franches:
Вы уж очень широкий вопрос задали. Я так понимаю, вы делаете игрушку... Так вот в играх препятствия по-разному героев могут тормозить. Такое не делается во флеше само по себе.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 11.06.2010, 13:55
Franches вне форума Посмотреть профиль Отправить личное сообщение для Franches Найти все сообщения от Franches
  № 3  
Ответить с цитированием
Franches

Регистрация: Jun 2010
Адрес: Земля
Сообщений: 32
Ну есть же всякие флешки с препятствиями!

Старый 11.06.2010, 14:13
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 4  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 Franches:
Так это понятно. Есть и флешки с препятствиями, есть и серьёзные мультипользовательские онлайн-игры. Всё делается, не вопрос. Вопрос в том, как делается. Я просто хочу вам сказать, что нет во Флеше такой функции, которая говорит, мол, это будет препятствием для твоего героя. Нужно код писать, математику использовать. Да всё что угодно может быть в разных случаях. Какой именно алгоритм использовать в вашем случае, я не знаю, потому что не знаю точно, что нужно получить. На сайте gotoAndPlay когда-то были всякие прототипы движков для игр-платформеров.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
В объектах код писать не стоит и вообще писать на ас2, не стоит))
изучайте уже третий

вот пример на ас2, как это могло бы выглядеть:

Код AS1/AS2:
var SPEED_MC:Number = 10;
 
var keyListener_obj:Object = new Object();
keyListener_obj.onKeyDown = function() {
	switch (Key.getCode()) {
 
		case Key.LEFT :
			cCode = Key.getCode();
			_root.onEnterFrame = position;
			break;
 
		case Key.UP :
			cCode = Key.getCode();
			_root.onEnterFrame = position;
			break;
 
		case Key.RIGHT :
			cCode = Key.getCode();
			_root.onEnterFrame = position;
			break;
 
		case Key.DOWN :
			cCode = Key.getCode();
			_root.onEnterFrame = position;
			break;
	}
};
 
keyListener_obj.onKeyUp = function() {
	delete _root.onEnterFrame;
};
 
Key.addListener(keyListener_obj);
 
function position():Void {
 
	if (wall.hitTest(_root.mc._x, _root.mc._y+14, true)) {
 
	} else {
		if (cCode == 40) {
			mc._y += SPEED_MC;
		}
 
	}
	if (wall.hitTest(_root.mc._x+14, _root.mc._y, true)) {
	} else {
		if (cCode == 39) {
			mc._x += SPEED_MC;
		}
 
	}
	if (wall.hitTest(_root.mc._x, _root.mc._y-14, true)) {
	} else {
		if (cCode == 38) {
			mc._y -= SPEED_MC;
		}
 
	}
	if (wall.hitTest(_root.mc._x-14, _root.mc._y, true)) {
	} else {
		if (cCode == 37) {
			mc._x -= SPEED_MC;
		}
 
	}
}
собственно wall - это мувик в котором вы рисуете все препятствия.

mc - это персонаж

Тута полу-дохлый пример на ас три.
http://www.flasher.ru/forum/showthre...=138682&page=2

пост №15

Старый 12.06.2010, 17:28
Franches вне форума Посмотреть профиль Отправить личное сообщение для Franches Найти все сообщения от Franches
  № 6  
Ответить с цитированием
Franches

Регистрация: Jun 2010
Адрес: Земля
Сообщений: 32
Спасибо!

Старый 23.06.2010, 20:35
Franches вне форума Посмотреть профиль Отправить личное сообщение для Franches Найти все сообщения от Franches
  № 7  
Ответить с цитированием
Franches

Регистрация: Jun 2010
Адрес: Земля
Сообщений: 32
Работает!!!
А как сделать чтоб можно было передвигать какиенибудь вещи (коробки например) ?

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

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

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


 


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


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