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

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

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

Регистрация: Jan 2008
Сообщений: 82
По умолчанию Не могу уменьшить количество жизней в функции

Всем здрасте! Делаю тут игруню одну и мне надо, если человек ошибается удалить один клип с именем "life"+ кол-во жизней. Вот функция
Код AS1/AS2:
function perebor_slova(otvet, alfavit:String) {
	for (i=0; i<otvet.length; i++) {
		if (otvet.charAt(i) == alfavit) {
			_root["box"+i]["bukva_in_box"+i].text = alfavit;
		} else {
			_root["life"+(lives-1)].removeMovieClip();
		}
	}
	trace(lives);
	return otvet, alfavit;
}
Если я в в блоке else добавлю lives--; то он мне удалит все клипы "life"+кол-во жизней кроме последнего (life4). Как быть? Может поможете? Заранее благодарен за дельные советы!

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

Регистрация: Jan 2009
Сообщений: 1,651
Код:
function perebor_slova(otvet, alfavit:String) {
           var flag:Boolean = false;
	for (i=0; i<otvet.length; i++) {
		if (otvet.charAt(i) == alfavit) {
			_root["box"+i]["bukva_in_box"+i].text = alfavit;
		} else {
                               flag=true; break;
		}
	}
           if (flag) {
                      _root["life"+(lives-1)].removeMovieClip();
                      lives--;
           }
	trace(lives);
	return otvet, alfavit;
}

Старый 24.07.2009, 14:35
kuflash вне форума Посмотреть профиль Отправить личное сообщение для kuflash Найти все сообщения от kuflash
  № 3  
Ответить с цитированием
kuflash

Регистрация: Jan 2008
Сообщений: 82
Ну у меня чел нажимает на букву и мы бежим по слову и проверяем есть ли такая буква в слове. А с вашим примером у меня даже если есть такая буква в слове он уменьшает жизни

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

Регистрация: Jan 2009
Сообщений: 1,651
это вы код протестировали и он выдал такой результат?
я может чего-то не понимаю в вашей задаче, но если
в else входа не будет, то flag остается =false, а это значит, что жизни не будут сняты.

Старый 24.07.2009, 14:42
kuflash вне форума Посмотреть профиль Отправить личное сообщение для kuflash Найти все сообщения от kuflash
  № 5  
Ответить с цитированием
kuflash

Регистрация: Jan 2008
Сообщений: 82
Да. Протестировал. И если если даже есть буква в слове, то он все равно удаляет жизнь

Старый 24.07.2009, 14:51
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 6  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
а, вам обратная логика нужна.
Код:
var base:String = "поле чудес";
var lives:Number=5;


trace (perebor_slova(base,"п"));
trace (perebor_slova(base,"f"));


function perebor_slova(otvet:String, alfavit:String) {
    var flag:Boolean = false;
	for (i=0; i<otvet.length; i++) {
		if (otvet.charAt(i) == alfavit) {
			_root["box"+i]["bukva_in_box"+i].text = alfavit;
			flag=true;
		}
	}
    if (!flag) {
    	_root["life"+(lives-1)].removeMovieClip();
        lives--;
    }
	trace(lives);
	return otvet, alfavit;
}

Старый 24.07.2009, 14:53
kuflash вне форума Посмотреть профиль Отправить личное сообщение для kuflash Найти все сообщения от kuflash
  № 7  
Ответить с цитированием
kuflash

Регистрация: Jan 2008
Сообщений: 82
Уау. Работает. ^_^ Просто офигительно. Наиогромнейшее СПАСИБО!!!!!!

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

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

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


 


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


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