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

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

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

Регистрация: Dec 2014
Сообщений: 2
По умолчанию Проверка значения из цикла

Всем привет! Ребята, подскажите, первый раз делаю игру (поиск предметов), но не могу правильно описать функцию проверки значения чтобы был совершен переход на следующий кадр когда на карте 0 предметов.
Ставил условие когда allsheeps равно нулю, но вылетала ошибка. Вот такой у меня код:
Код AS3:
import flash.events.MouseEvent;
 
var allsheeps:Array = new Array;
for (var i:uint=0; i<numChildren; i++) {
		var mc = getChildAt(i);
		if (mc is sheeps) {
			allsheeps.push(mc);
			mc.addEventListener(MouseEvent.CLICK,mcclick);
			mc.buttonMode = true;
		} 
	}
numsheeps.text = String(allsheeps.length);
 
function mcclick(event:MouseEvent) {
	var selectedmc = event.currentTarget;
	removeChild (selectedmc);
	for (var j:uint=0; j<allsheeps.length; j++) {
		if(selectedmc == allsheeps[j]) {
		allsheeps.splice(j,1);
		numsheeps.text = String(allsheeps.length);
		break;
	}
  }
}

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
А покажите условие, которые вызывает ошибку.

Старый 23.12.2014, 00:02
oleg_metrotile вне форума Посмотреть профиль Отправить личное сообщение для oleg_metrotile Найти все сообщения от oleg_metrotile
  № 3  
Ответить с цитированием
oleg_metrotile

Регистрация: Dec 2014
Сообщений: 2
Цитата:
Сообщение от samana Посмотреть сообщение
А покажите условие, которые вызывает ошибку.
Чувствую, что ошибка очень простая. Подскажите, пожалуйста, что не так.
Код AS3:
import flash.events.MouseEvent;
 
var allsheeps:Array = new Array;
for (var i:uint=0; i<numChildren; i++) {
		var mc = getChildAt(i);
		if (mc is sheeps) {
			allsheeps.push(mc);
			mc.addEventListener(MouseEvent.CLICK,mcclick);
			mc.buttonMode = true;
		} else  (mc is sheeps){
                           if (mc == "0"){
                      gotoAndStop ("final");
                }
            }
	}
numsheeps.text = String(allsheeps.length);
 
function mcclick(event:MouseEvent) {
	var selectedmc = event.currentTarget;
	removeChild (selectedmc);
	for (var j:uint=0; j<allsheeps.length; j++) {
		if(selectedmc == allsheeps[j]) {
		allsheeps.splice(j,1);
		numsheeps.text = String(allsheeps.length);
		break;
	}
  }
}

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Код AS3:
var allsheeps:Array = new Array;
for (var i:uint = 0; i < numChildren; i++)
{
	var mc = getChildAt(i);
	if (mc is sheeps)
	{
		allsheeps.push(mc);
		mc.addEventListener(MouseEvent.CLICK, mcclick);
		mc.buttonMode = true;
	}
}
numsheeps.text = String(allsheeps.length);
 
 
function mcclick(event:MouseEvent)
{
	var selectedmc = event.currentTarget;
	removeChild(selectedmc);
	for (var j:uint = 0; j < allsheeps.length; j++)
	{
		if (selectedmc == allsheeps[j])
		{
			allsheeps.splice(j, 1);
			numsheeps.text = String(allsheeps.length);
			break;
		}
	}
	//если массив пустой, значит объектов уже нет
	if (allsheeps.length == 0) gotoAndStop("final")
}
Можно второй метод сократить ещё
Код AS3:
function mcclick(event:MouseEvent)
{
	var selectedmc:DisplayObject = event.currentTarget;
	removeChild(selectedmc);
 
	allsheeps.splice(allsheeps.indexOf(selectedmc),1)
 
	numsheeps.text = String(allsheeps.length);
 
	//если массив пустой, значит объектов уже нет
	if (allsheeps.length == 0) gotoAndStop("final")
}

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

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

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


 


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


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