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

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

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

Регистрация: Apr 2010
Сообщений: 97
Question обновление координат клипа

Подскажите как обновить координаты клипа, первой функцией такой же я клипы загружаю через хмл, а вот это мне нужно обновить их координаты, но не вынося по новой.....
Код AS1/AS2:
_global.update = function() {
	i = 1;
	a = 0;
	b = 1;
	c = 2;
	d = 3;
	f = 1;
	arr = [];
	j = myXML.childNodes.length;
	j = parseInt(j);
	while (i<j) {
		_root.login = myXML.childNodes[a].firstChild;
		_root.osx = myXML.childNodes[b].firstChild;
		_root.osy = myXML.childNodes[c].firstChild;
		_root.online = myXML.childNodes[d].firstChild;
		_root.osx = parseInt(_root.osx);
		_root.osy = parseInt(_root.osy);
		if (_root.login == undefined) {
			break;
		}
		arr[f] = _root.attachMovie("skelet", _root.login, i);
		arr[f]._name._x = _root.osx;
		arr[f]._name._y = _root.osy;
		if (arr[f]._name == _root.user) {
			player = arr[f];
		}
		f += 1;
		i += 1;
		a = d+1;
		b = a+1;
		c = b+1;
		d = c+1;
		myXML.load("http://kahoxa.ru/xml.php");
	}
 
};

Старый 06.01.2011, 16:01
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Код AS1/AS2:
if ( arr[f] == undefined )
{
arr[f] = _root.attachMovie("skelet", _root.login, i);
}
else
{
клип уже есть, меняем ему координаты
}
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

Регистрация: Apr 2010
Сообщений: 97
координаты таким образом поменять?
Код AS1/AS2:
arr[f]._x = _root.osx;
		arr[f]._y = _root.osy;

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
ага. ибо клип уже есть и его название внесено в массив.
только я бы писал все-таки так:

Код AS1/AS2:
arr[f] = _root.attachMovie("skelet", _root.login+некий_индекс, i);
Чтобы имена клипов были уникальными. А то у вас в классе будет 100 Вась.
- "Вася, к доске!"
Люди ломанутся все, а во флэше пойдет только один - но только последний пришедший в школу с таким именем
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

Регистрация: Apr 2010
Сообщений: 97
вообще перемещать перестал( постоянно теперь возвращает на нулевые координаты всех(

Добавлено через 1 минуту
вот весь код:
Код AS1/AS2:
stop();
myXML = new XML();
myXML.load("http://kahoxa.ru/xml.php");
_global.func = function() {
	i = 1;
	a = 0;
	b = 1;
	c = 2;
	d = 3;
	f = 1;
	arr = [];
	j = myXML.childNodes.length;
	j = parseInt(j);
	while (i<j) {
		_root.login = myXML.childNodes[a].firstChild;
		_root.osx = myXML.childNodes[b].firstChild;
		_root.osy = myXML.childNodes[c].firstChild;
		_root.online = myXML.childNodes[d].firstChild;
		_root.osx = parseInt(_root.osx);
		_root.osy = parseInt(_root.osy);
		if (_root.login == undefined) {
			break;
		}
		arr[f] = _root.attachMovie("skelet", _root.login, i);
		arr[f]._x = _root.osx;
		arr[f]._y = _root.osy;
		if (arr[f]._name == _root.user) {
			player = arr[f];
		}
		f += 1;
		i += 1;
		a = d+1;
		b = a+1;
		c = b+1;
		d = c+1;
		myXML.load("http://kahoxa.ru/xml.php");
	}
	clearInterval(timer);
};
_global.go = function() {
	myXML1 = new XML();
	myXML1.load("http://kahoxa.ru/xml.php?osx="+player._x+"&osy="+player._y+"&user="+_root.user, "GET");
};
_global.update = function() {
	i = 1;
	a = 0;
	b = 1;
	c = 2;
	d = 3;
	f = 1;
	arr = [];
	j = myXML.childNodes.length;
	j = parseInt(j);
	while (i<j) {
		_root.login = myXML.childNodes[a].firstChild;
		_root.osx = myXML.childNodes[b].firstChild;
		_root.osy = myXML.childNodes[c].firstChild;
		_root.online = myXML.childNodes[d].firstChild;
		_root.osx = parseInt(_root.osx);
		_root.osy = parseInt(_root.osy);
		if ( arr[f] == undefined )
{
arr[f] = _root.attachMovie("skelet", _root.login, i);
}
else
{
arr[f]._x = _root.osx;
		arr[f]._y = _root.osy;
}
		if (arr[f]._name == _root.user) {
			player = arr[f];
		}
		f += 1;
		i += 1;
		a = d+1;
		b = a+1;
		c = b+1;
		d = c+1;
		myXML.load("http://kahoxa.ru/xml.php");
	}
 
};

Старый 06.01.2011, 16:24
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 6  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
амм.... у вас вообще все в корне неверно ))))

Упростим ваш код

Код AS1/AS2:
myXML = new XML();
myXML.load("http://kahoxa.ru/xml.php");
 
_global.func = function() 
 
_global.go = function() 
 
_global.update = function()
Как вы думаете - после загрузки ХМЛ - какая функция вызовется?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

Регистрация: Apr 2010
Сообщений: 97
у меня функци вон где вызываются:
Код AS1/AS2:
stop();
myXML = new XML();
myXML.load("http://kahoxa.ru/xml.php");
timer=setInterval(_global.func,1000);
timer1=setInterval(_global.update,1100);
onEnterFrame = function () {
 
	if(Key.isDown(Key.LEFT)){
		player._x-=8;
		player._xscale=100;
		if(player._currentframe==2)player.gotoAndPlay(2);
		_global.go();
	}
	if(Key.isDown(Key.RIGHT)){
		player._x+=8;
		player._xscale=-100;
		if(player._currentframe==2)player.gotoAndPlay(2);
		_global.go();
	}
 
};
Добавлено через 1 минуту
а после выноса клипов, там клеар интервал стоит

Старый 06.01.2011, 16:31
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 8  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Тогда это не "ВЕСЬ КОД".
Функция обработчик данных из ХМЛ-я, срабатывающая раз в секунду? А если ваш ХМЛ считывается дОльше 1 секунды? А если там время ожидания 15 секунд? Ну и так далее. Ичтайте бОльше про класс XML
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

Регистрация: Apr 2010
Сообщений: 97
а с этим можно что-нибудь сделать? что бы обновлял, просто почему он к клипу не обращается понять не мог(
здесь:
Код AS1/AS2:
_global.func = function()
он выкинул всех в массив и по координатам, а в
Код AS1/AS2:
_global.update = function()
он как будто забывает все имена клипов или я не правильно к ним обращаюсь?.....

Старый 06.01.2011, 16:39
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 10  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
у вас ХМЛ еще не получена, а в ы координаты клипам пишете.
вот и все.
читайте про событие .onLoad
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

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

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


 


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


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