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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.06.2009, 17:27
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 11  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
спасибо. намного понятнее.

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
тыгды лучше так
Код AS1/AS2:
mc.stop();
var flag:Number = 0;
// определем функцию для мувика
function start_f(num:Number) {
	mc.onEnterFrame = function() {
		if (num) {
			mc.nextFrame();// переходим на следующий кадр
		} else {
			mc.prevFrame();// переходим на предыдущий кадр
		}
		trace(flag == num);
	};
}
var listener:Object = new Object();
// обработчик нажатий клавиши
listener.onKeyDown = function() {
	switch (Key.getCode()) {
		case Key.UP :
			start_f(1);// если нажата вверх фалсе
			break;
		case Key.DOWN :
			start_f(0);// если нажата вниз то труе
			break;
	}
};
listener.onKeyUp = function() {
	switch (Key.getCode()) {
		case Key.UP :
			delete mc.onEnterFrame;//убиваем нах
			break;
		case Key.DOWN :
			delete mc.onEnterFrame;//туда же
			break;
	}
};
// вешаем листнер с обработчиками на клвиатуру
Key.addListener(listener);

Старый 16.06.2009, 09:33
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 13  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
код весь понял но появилась необходимость при нажатии верх и налево чтобы мувик играл вперед но в два раза медленее.тоесть должно быть нажато 2 клавиши одновременно. при нажатии вперед и вправо должно происходить тоже самое.
много хочу, но это последнее.

Старый 16.06.2009, 12:04
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 14  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
А что означает
Цитата:
при нажатии вперед и вправо
?

Ну введите несколько флагов
Код AS1/AS2:
var  upPress :Boolean  = false;
var  downPress :Boolean  = false;
var  leftPress :Boolean  = false;
var  rightPress :Boolean  = false;
mc.onEnterFrame = function(){
	if (upPress && leftPress) mc.nextFrame();   // переходим на следующий кадр
	if (downPress && rightPress) mc.prevFrame();  // переходим на предыдущий кадр
        // во всех остальных случаях мувик будет стоять
}
// листнер
var listener :Object = new Object();
// обработчик нажатий клавиши
listener.onKeyDown = function() {
    switch (Key.getCode()) {
       case Key.UP :
           upPress = true;
       break;
       case Key.DOWN :
          downPress = true;
       break;
       case Key.LEFT :
          leftPress = true;
       break;
       case Key.RIGHT :
          rightPress = true;
       break;
    }
};
// обработчик отпускания клавиши сбрасываем флаг в 0, чтобы мувик остановился
listener.onKeyUp = function() {
    switch (Key.getCode()) {
       case Key.UP :
           upPress = false;
       break;
       case Key.DOWN :
          downPress = false;
       break;
       case Key.LEFT :
          leftPress = false;
       break;
       case Key.RIGHT :
          rightPress = false;
       break;
    }
};

Старый 16.06.2009, 13:22
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 15  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
при нажатии вперед и вправо означает вверх и направо. я опечатался.
а код чтото не работает. должно быть вот как : при нажатии вверх он играет. при нажатии вниз он играет задом на перед. при нажатии двух клавиш одновременно а иммено вверх и налево он играет в два раза медленее. при нажатии вверх и направо он тоже играет в два раза медленее.

Старый 16.06.2009, 14:22
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 16  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
попробуйде вот так
Код AS1/AS2:
mc.stop();
var flag:Number = 0;
// определем функцию для мувика
 
function start_f(num:Number,f:Boolean) {
	mc.onEnterFrame = function() {
		if(f){
			if (num) {
				mc.nextFrame();// переходим на следующий кадр
			} else {
				mc.prevFrame();// переходим на предыдущий кадр
			}
		}
		else{
			if(flag%2==0){
				if (num) {
					mc.nextFrame();// переходим на следующий кадр
				} else {
					mc.prevFrame();// переходим на предыдущий кадр
				}
			}
			}
		flag ++;
	};
}
var pres:Boolean = false;
var listener:Object = new Object();
// обработчик нажатий клавиши
listener.onKeyDown = function() {
	if(Key.getCode()==Key.LEFT || Key.getCode()==Key.RIGHT){//&&Key.getCode()==39){
		pres = true;
	}
	if((Key.getCode()==Key.UP) && pres){
		start_f(1,false);
	}
	else if(Key.getCode()==Key.UP){
		start_f(1,true);
		}
	if((Key.getCode()==Key.DOWN) && pres){
		start_f(0,false);
	}
	else if(Key.getCode()==Key.DOWN){
		start_f(0,true);
		}
};
listener.onKeyUp = function() {
	if(Key.getCode()==Key.LEFT || Key.getCode()==Key.RIGHT){
		pres = false;
	}
	switch (Key.getCode()) {
		case Key.UP :
			delete mc.onEnterFrame;//убиваем нах
			break;
		case Key.DOWN :
			delete mc.onEnterFrame;//туда же
			break;
	}
};
// вешаем листнер с обработчиками на клвиатуру
Key.addListener(listener);

Старый 16.06.2009, 14:31
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 17  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
чтото тоже не пашет. работает клавиши вверх вниз. но при одновремменном нажатии вверх и налево происходит тоже самое что и при нажатии вверх. на самом деле или мне кажеться, но вроде при нажатии вниз он едит медленнее.вообщем - не пашет.

Старый 16.06.2009, 15:14
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 18  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
вот пример который работает
Вложения
Тип файла: rar pres.rar (4.5 Кб, 37 просмотров)

Старый 16.06.2009, 16:29
alex001 вне форума Посмотреть профиль Отправить личное сообщение для alex001 Найти все сообщения от alex001
  № 19  
Ответить с цитированием
alex001

Регистрация: Mar 2009
Сообщений: 122
спасибо, действительно работает.
а можно сделать так:
когда нажимеш вверх он играет на полной скорости, а начинает играть медленнее когда нажмеш лево/право а потом вверх. а можно чтобы нажмеш вверх а потом дожмеш лево/право и он начнет медленную скорость?
вообщем если нажмеш вверх он играет его на полной скорости и если ты будеш держать вверх нажатой и дожмеш лево/право он на это не реагирует.
если нажмеш лево/право и дожмеш вверх только тогда играет медленно.
а как сделать чтобы он играл на медленной скорости когда ты держишь вверх нажатой и дожмеш лево/право?


Последний раз редактировалось alex001; 16.06.2009 в 17:29.
Старый 16.06.2009, 21:55
script_user вне форума Посмотреть профиль Отправить личное сообщение для script_user Найти все сообщения от script_user
  № 20  
Ответить с цитированием
script_user

Регистрация: Jun 2009
Сообщений: 2
флэш плохо так с клавишами работает. но кодом думаю можно. только я сам не знаю.

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

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

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


 


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


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