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

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

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

Регистрация: Jan 2013
Сообщений: 28
По умолчанию Герой "встаёт" если не нажаты → или ←

Делаю игру, хочу, чтобы ГГ умел приседать. Приседать его научил, но появилась такая проблема.

Если герой столкнётся с выделенной областью не в положении сидя, то он сам сядет. Если он продолжит двигаться в этой области, то всё будет хорошо, но если он остановится, то встанет.
Код AS1/AS2:
onClipEvent (enterFrame) {
	_visible = false;
	if (this.hitTest(_parent.hero_mc.hit) && _parent.hero_mc.crouch == false)
	{
		_parent.hero_mc.crouch = true;
	}
}
Код героя:
Код AS1/AS2:
onClipEvent (load) {
	var crouchspeed = 3;
	var speed = 6;
	var crouch = false;
}
 
onClipEvent (enterFrame) {
	if (Key.isDown(Key.LEFT) && crouch == false)
	{
		_xscale = -100;
		gotoAndStop(2);
		_x -= speed;
	}
	if (Key.isDown(Key.RIGHT) && crouch == false)
	{
		_xscale = 100;
		gotoAndStop(2);
		_x += speed;
	}
	if (!Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT))
	{
		gotoAndStop(1);
	}
	if (Key.isDown(Key.LEFT) && Key.isDown(Key.RIGHT))
	{
		gotoAndStop(1);
	}
	if (crouch == true && Key.isDown(Key.LEFT))
	{
		crouch = true;
		gotoAndStop(4);
		_xscale = -100;
		_x -= crouchspeed;
	}
	if (crouch == true && Key.isDown(Key.RIGHT))
	{
		crouch = true;
		gotoAndStop(4);
		_xscale = 100;
		_x += crouchspeed;
	}
	if (!Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT) && Key.isDown(Key.DOWN))
	{
		gotoAndStop(3);
	}
	if (!Key.isDown(Key.DOWN))
	{
		crouch = false;
	}
	if (Key.isDown(Key.DOWN))
	{
		crouch = true;
	}
	if (crouch == true && !Key.isDown(Key.LEFT) && !Key.isDown(Key.RIGHT)) {
		gotoAndStop(3)
	}
}
Прошу прощения за то, что не закоментировал. Итак вопрос - как заставить его сидеть пока он находится в этой области и не двигается?

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

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Проверять его состояние т.е когда его текущий кадр на положении когда он сидит то при отпускании кнопок он должен оставаться на этом же кадре, а если кадр другой то переходим в состояние когда он стоит.

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

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

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


 


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


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