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

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

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

Регистрация: Aug 2012
Сообщений: 145
По умолчанию Присвоение переменной собственное число из цикла

Здравствуйте, помогите решить проблему.
вот пример кода:
Код AS3:
bot()
 
function bot ():void
{
	for (var max_bot:int = 0; max_bot < 5;max_bot++)
	{
		ACTIVE_BOT ()
	}
}
 
function ACTIVE_BOT ():void
{
var index_bot2:Number = new Number //ВОТ ЗДЕСЬ -
index_bot2 = max_bot                     //ПРОБЛЕМА
FLORS ()
}
 
function FLORS ():void
{
ACTIVE_BOT()
}
Вопрос:
Как сделать так чтобы переменная index_bot2 не была равна переменной max_bot когда функция ACTIVE_BOT вызывалась второй раз функцией FLORS?


Последний раз редактировалось XMON; 08.02.2013 в 15:52.
Старый 08.02.2013, 15:34
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 2  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
а где переменная index_bot ?
__________________
low +

Старый 08.02.2013, 15:53
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 3  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
ой, прошу прощения, всё исправил

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

Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
не совсем понятен вопрос, но попробую угадать (прошу прощения)
всегда можно определить глубину рекурсии с помощью аргумента

Код AS3:
ACTIVE_BOT()
 
function ACTIVE_BOT( depth:int = 0 ):void
{
     if( depth == 2 ) { trace( "depth == 2" ); return; }
     FLORS( depth )
}
function FLORS( depth:int ):void
{
     ACTIVE_BOT( ++depth )
}

Старый 08.02.2013, 16:37
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 5  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
вот я немножко переделал код:
Код AS3:
ACTIVE_BOT()
var kkk:Number = 222
function ACTIVE_BOT( depth:Number = kkk ):void
{
     trace (depth)
}
function FLORS( depth:int ):void
{
	ACTIVE_BOT()
}
но как присвоить переменной depth значение переменной kkk?

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

Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
возможно, если вы подробнее опишите, что требуется в результате работы алгоритма, то вам смогут помочь, но сейчас по описанию и приведенному выше коду - совершенно невозможно представить как это должно работать. бесконечная косвенная рекурсия в цикле и обращение к переменной вне области видимости...

Старый 08.02.2013, 19:00
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 7  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
итак, хочу создать ботов для игры. эти боты передвигаются в рандомные места и по прибытию в другие места. моя задумка заключалась в том чтобы создать цикл, в этом цикле на сцену помещаются боты и в этом цикле также идёт повторяющая функция на ум. дк вот, чтобы управлять каждым ботом по отдельности в этой функции на их ум я решил создать массив с ботами и управлять ими из функции на их ум по отдельности.
вот более понятный пример:

Код AS3:
bot()
 
var BOT:Array = new Array //это массив с будующими ботами
var max_bot:int = new int
 
function bot ():void
{
	for (var max_botsss:int = 0; max_bot < 5;max_bot++) // здесь создаю 5 ботов
	{
		BOT.push (new BOOTS()) //здесь я заполняю массив с будующими ботами (бот идёт из символа)
		BOT[max_bot].x = -10
		BOT[max_bot].y = -10
		addChild (BOT[max_bot]) //помещаю на сцену
		ACTIVE_BOT () //запускаю функцию с умом ботов
		trace (max_bot)
	}
}
 
function ACTIVE_BOT ():void // эта функция служит для того чтобы бот пошёл в нужную точку
{
	var index_bot:int = new int
	index_bot = max_bot
	FLORS ()
	//а вот цдесь начинаются проблемы...
	//я сделал так: как только идёт ссылка на эту функцию из цикла
	//сохранялся "номер бота" и уже по этому "номеру ботф" управлять ботом (управление осуществляется не пользователем)
	//но проблема в том что этота функция также вызывается в функции FLORS и поэтому номер бота обнавляется
}
 
function FLORS ():void // это функция служит для того чтобы по прибытию на точку заново выбрать точку с помощю функции ACTIVE_BOT 
{
	ACTIVE_BOT ()
}

Старый 08.02.2013, 20:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Прошу прощения, что не отвечаю на поставленный вопрос. Просто между делом: var x = new int или new Number - бессмысленные выражения. В AS3 у численных типов есть значения по умолчанию, которые точно такие же, как и те, что возвращеаются из конструкторов, если их вызывать без аргументов. Кроме того, явно вызывать конструктор int или Number - просто много писанины. Гораздо естесственнее и понятнее для остальных - написать конкретное значение назначенное переменной.
__________________
Hell is the possibility of sanity

Старый 09.02.2013, 11:51
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 9  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
я почти решил свой проблему но вот что меня остановило:
как в такой цепочке функций -
Код AS3:
bot1()
 
function bot1 (BOB:int = 1):void
{
	bot2()
}
 
function bot2 ():void
{
	bot3()
}
 
function bot3 ():void
{
	bot4()
}
 
function bot4 ():void
{
	trace (BOB)
}
из функции bot1 передать в функцию bot4 значение переменной BOB?

Старый 09.02.2013, 11:56
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
bot1(15);
 
function bot1 (BOB:int = 1):void
{
	bot2(BOB);
}
 
function bot2 (BOB:int = 1):void
{
	bot3(BOB);
}
 
function bot3 (BOB:int = 1):void
{
	bot4(BOB);
}
 
function bot4 (BOB:int = 1):void
{
	trace (BOB);
}
__________________
Reality.getBounds(this);

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

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

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


 


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


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