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

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

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

Регистрация: Jul 2005
Адрес: Steam/Mobiles
Сообщений: 790
Отправить сообщение для Badim с помощью ICQ Отправить сообщение для Badim с помощью AIM Отправить сообщение для Badim с помощью MSN Отправить сообщение для Badim с помощью Skype™
Цитата:
Сообщение от silin
какие баги ? ,ну кроме того, что странные..
в браузере там и нечему работать..,
собственно это только способ решения твоей проблемы, как ты его применишь вопрос другой..
зы: еще, не пиши так
Код:
switch (Key.getCode()) {
	case Key.RIGHT :
		_root.main.game.shar_stop();
		break;
	case Key.LEFT :
		_root.main.game.shar_stop();
		break;
}
будь проще : _root.main.game.shar_stop();
всмысле где зедсь проще то?
вообщето, лучше писать так:
Код:
switch (Key.getCode()) {
	case Key.RIGHT :
	case Key.LEFT :
		_root.main.game.shar_stop();
		break;
}
но если сделать как ты сказал, то чар будет останавливаться после отжатия пробел.
...
Проблема осталась кстати =)
З.Ы. Если, хочешь я могу выложить версию с твоим кодом. он рабоает в плеере, но в браузере не очень.

Старый 12.01.2006, 17:18
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 12  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>но если сделать как ты сказал, то чар будет останавливаться после отжатия пробел.
ОК, согласен, но switch вместо if все равно не смотрится..
>>Если, хочешь я могу выложить версию с твоим кодом. он рабоает в плеере, но в браузере не очень.
если честно: не хочу..
соображения: диспатчер висит на onEnterFrame, стало быть реагирует не мгновенно, а только при смене кадра, возможно отсюда траблы..(попробовать увеличить фпс, или на setInterval это добро повесить..)

Старый 12.01.2006, 17:30
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 13  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Написал во Flashcoders -- посмотрим, что делают люди в таких случаях. Спасибо за первую интересную тему за неделю.

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

Регистрация: Jul 2005
Адрес: Steam/Mobiles
Сообщений: 790
Отправить сообщение для Badim с помощью ICQ Отправить сообщение для Badim с помощью AIM Отправить сообщение для Badim с помощью MSN Отправить сообщение для Badim с помощью Skype™
http://www.actionscript.org/forums/s...d.php3?t=93745
-
этот же пост. могу перевести кому надо.
...
сетИнтервалы тоже пробывал, тоже не помогли.
..
>ОК, согласен, но switch вместо if все равно не смотрится..
ИМХО это holy wars, поэтому отвечать не буду.
>соображения: диспатчер висит на onEnterFrame, стало быть реагирует >не мгновенно, а только при смене кадра, возможно отсюда траблы..>(попробовать увеличить фпс, или на setInterval это добро повесить..)
ни то не то не помогло.
как я сказал, в первом посте, необходима, чтобы игра работа в Броузере.

Старый 12.01.2006, 18:19
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 15  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Badim, а можешь сгенерить показательный примерчик (не надо всю игру) с проблемой?

Старый 12.01.2006, 18:30
Badim вне форума Посмотреть профиль Отправить личное сообщение для Badim Посетить домашнюю страницу Badim Найти все сообщения от Badim
  № 16  
Ответить с цитированием
Badim

Регистрация: Jul 2005
Адрес: Steam/Mobiles
Сообщений: 790
Отправить сообщение для Badim с помощью ICQ Отправить сообщение для Badim с помощью AIM Отправить сообщение для Badim с помощью MSN Отправить сообщение для Badim с помощью Skype™
ну вот пример в аттаче исходник проблемы.
Вложения
Тип файла: rar flas.rar (6.3 Кб, 13 просмотров)

Старый 12.01.2006, 20:07
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 17  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вобщем я так и не понял, что за проблема с браузером: у меня одинаково работает как в IDE так и браузере(FF1.5)..
решение с глобальным вещанием события:
Код:
import mx.events.EventDispatcher;
var xspeed = 0, yspeed = 0;
var kd=[{state:false,code:Key.RIGHT},{state:false,code:Key.LEFT},{state:false,code:Key.SPACE}];
EventDispatcher.initialize(kd);
kd.addEventListener('key',onKey);
setInterval(function(){
		for(var i in kd){
			if(kd[i].state!=Key.isDown(kd[i].code))	kd.dispatchEvent({type:'key',what:!kd[i].state ,code:kd[i].code});
				kd[i].state=Key.isDown(kd[i].code);
		}
	},10);

function onKey(e){
	switch(e.code){
		case Key.LEFT : xspeed=-1*e.what;break;
		case Key.RIGHT: xspeed=1*e.what;break;
		case Key.SPACE:	yspeed=10*e.what;
	}
}

mc.onEnterFrame = function() {//mc - управляемый мувик
	this._x += xspeed*2;
	this._y += yspeed;
	yspeed /= 2;
	if (yspeed<1) {
		yspeed = 0;
	}
};
если речь идет об управлении только одним мувиком (т.е. это событие больше никому и не нужно), то все может быть еще проще:
Код:
var xspeed = 0, yspeed = 0;
mc.onEnterFrame = function() {
	if(Key.isDown(Key.SPACE)&& !yspeed)yspeed=10;
	xspeed=0;
	xspeed+=Key.isDown(Key.RIGHT)*2;
	xspeed-=Key.isDown(Key.LEFT)*2;
	
	this._x += xspeed*2;
	this._y += yspeed;
	yspeed /= 2;
	if (yspeed<1) {
		yspeed = 0;
	}
};

Старый 13.01.2006, 11:30
Badim вне форума Посмотреть профиль Отправить личное сообщение для Badim Посетить домашнюю страницу Badim Найти все сообщения от Badim
  № 18  
Ответить с цитированием
Badim

Регистрация: Jul 2005
Адрес: Steam/Mobiles
Сообщений: 790
Отправить сообщение для Badim с помощью ICQ Отправить сообщение для Badim с помощью AIM Отправить сообщение для Badim с помощью MSN Отправить сообщение для Badim с помощью Skype™
silin
...
ты решил проблему, изменив условие =)
ты изменил архитектуру этого примера, хоть оно и работает, но оно не подходит =((((
Обязательное условие - то что персонаж перестает бегать ИМЕННО при отпускании клавиши, а не каждый фрейм.

Старый 13.01.2006, 11:48
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 19  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
и рад бы помочь, но уже не понимаю о чем речь:
ты спрашивал как отловить отпускание всех клавиш,
а уж как он там перестает бегать, 'ИМЕННО при отпускании клавиши или каждый фрейм' (?), дело хозяйское..
к слову, в моем примере ИМЕННО при отпускании клавиши он и перестает..

Старый 13.01.2006, 12:10
Badim вне форума Посмотреть профиль Отправить личное сообщение для Badim Посетить домашнюю страницу Badim Найти все сообщения от Badim
  № 20  
Ответить с цитированием
Badim

Регистрация: Jul 2005
Адрес: Steam/Mobiles
Сообщений: 790
Отправить сообщение для Badim с помощью ICQ Отправить сообщение для Badim с помощью AIM Отправить сообщение для Badim с помощью MSN Отправить сообщение для Badim с помощью Skype™
первый код из 17 поста, отлично смотриться.
у меня он работает в onproblem.fla, но в игре отрубаеться управление в броузере.
моэет это из за того что теряеться фокус?

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

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

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


 


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


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