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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

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

Регистрация: Sep 2011
Сообщений: 7
По умолчанию Зажатая клавиша

Всем привет. Вопрос по Actionscript 3.0. Подскажите пожалуйста, как можно заставить объект двигаться по полю, при зажимании виртуальной кнопки(button)? Ну то есть что-бы объект двигался в нужном направлении до тех пор, пока курсор давит на эту кнопку. Я в этом деле новичок, всю голову сломал уже, вот сдался, не выдержал. Вот кусок проекта, где управление реализовано с помощью стрелок на клавиатуре. Как заменить их на виртуальные кнопки

Код AS3:
import flash.events.KeyboardEvent;
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey)
stage.addEventListener(KeyboardEvent.KEY_UP, outKey)
 
var upK:Boolean = false;
var downK:Boolean = false;
var leftK:Boolean = false;
var rightK:Boolean = false;
 
var speed = 5;
 
 
function onKey(e:KeyboardEvent)
{
	if (e.keyCode == 38)
	{
		upK=true;
	}
	if (e.keyCode == 39)
	{
		rightK = true;
	}
	if (e.keyCode == 40)
	{
		downK=true;
	}
	if (e.keyCode == 37)
	{
		leftK=true;
	}
 
}
function outKey(e:KeyboardEvent)
{
	if (e.keyCode == 38)
	{
		upK=false;
	}
	if (e.keyCode == 39)
	{
		rightK = false;
	}
	if (e.keyCode == 40)
	{
		downK=false;
	}
	if (e.keyCode == 37)
	{
		leftK=false;
	}
 
}
 
addEventListener(Event.ENTER_FRAME, anim)
 
function anim(e:Event):void
{
	if(upK)
	{
		Dude.gotoAndStop(3);
		Dude.y -=speed;
	} else if(rightK)
	{
		Dude.gotoAndStop(1);
		Dude.x +=speed;
	} else if(downK)
	{
		Dude.gotoAndStop(4);
		Dude.y +=speed;
	} else if(leftK)
	{
		Dude.gotoAndStop(2);
		Dude.x -=speed;
	} else
	{
		Dude.gotoAndStop(4);
	}
 
 
}

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Привет! Это флейм. Такие вопросы нужно задавать в специализированных разделах. А здесь можно говорить всякую ерунду и тебе за это ничего не будет.

Я ломал стеклоооуу

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

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

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


 


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


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