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

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

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

Регистрация: Aug 2009
Сообщений: 101
По умолчанию От перемены мест слагаемых сумма не меняется

Идет постоянно приравнивание 'g'+n = 'b'+n
значение b меняют местами
например:
b1 получает значение b4
а b4 значение b1
как сделать так, чтобы g от этого не изменилось?
Я пытался сделать методом
'g'+n = 'b'+s'n'
где s должно меняться когда b меняются местами
т.е с начало s совпадало с n, а когда b1 меняют на b4 то s меняет свое значения на 4, а было 1.
Вот только как это сделать?
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.


Последний раз редактировалось LanSelven; 25.09.2009 в 19:46.
Старый 25.09.2009, 19:44
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Ничего не понял. Что за ' ?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Aug 2009
Сообщений: 101
Ну я и не ждал что кто-то поймет, просто хотел увидить первую реакцию и попытатся обьяснить....
сейчас попробую
Добавлено через 53 минуты
Код AS1/AS2:
FirstOff = false
num = 0;
for(n=1;n<5;n++) {
	_root['s'+n] = n
}
this.onEnterFrame = function() {
	for(n=1;n<5;n++) {
		_root['g'+n].text = _root['b'+_root['s'+n]].text
	}
	if (!FirstOff) {
	btn1.onRelease = function() {num =1}
	btn2.onRelease = function() {num =2}
	btn3.onRelease = function() {num =3}
	btn4.onRelease = function() {num =4}
	}
	else{
		btn1.onRelease = function() {num2 =1}
		btn2.onRelease = function() {num2 =2}
		btn3.onRelease = function() {num2 =3}
		btn4.onRelease = function() {num2 =4}
	}
	if ((num != 0) or (num2 !=0)) {
		if(!FirstOff) {
		Fun1();}
		else {Fun2();}
	}
}
function Fun1() {
	ChooseOne = num;
	num = 0;
	reserv1 = _root['b'+ChooseOne].text
	FirstOff = true;
}
function Fun2() {
	ChooseTwo = num2
	num2 = 0;
	reserv2 = _root['b'+ChooseTwo].text
	Fun3();
}
function Fun3() {
	//И вот тут наверное Что-нибудь сделать с s чтобы g не менялось
	_root['b'+ChooseTwo].text = reserv1;
	_root['b'+ChooseOne].text = reserv2;
	FirstOff = false;
}
Вот пример:

С Начало пытался сделать следующее:
Код AS1/AS2:
_root['s'+ChooseOne] = ChooseTwo
	_root['s'+ChooseTwo] = ChooseOne
Не вышло, так как 1 раз срабатывает, а потом синхронно меняются

Добавлено через 2 минуты
Потом так
Код AS1/AS2:
_root['s'+_root['s'+ChooseOne]] = ChooseTwo
_root['s'+_root['s'+ChooseTwo]] = ChooseOne
Тут работало 50 на 50. Если менять одинаковые области местами все нормально, но если хаотично, то система давала сбой...И что не пытаюсь, до максимум 50 на 50...
Вложения
Тип файла: rar PrimerX.rar (5.8 Кб, 75 просмотров)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.


Последний раз редактировалось iNils; 25.09.2009 в 20:56.
Старый 25.09.2009, 20:58
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Примеры надо выкладывать в наиболее низкой возможной версии.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Nov 2005
Сообщений: 1,155
LanSelven, приведите пример до минимума, а то рак мозга

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

Регистрация: Aug 2009
Сообщений: 101
Я извиняюсь за CS4...Все забываю...
Нагляднее и проще чем во флеш примере, ну никак...
Да уж, это точно рак мозга, у меня кровь из ушей идет....
Вложения
Тип файла: rar This.rar (15.1 Кб, 91 просмотров)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

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

Регистрация: Aug 2009
Сообщений: 101
Ну же)) все ведь просто
Код AS1/AS2:
O_o = _root['s'+ChooseTwo]
_root['s'+_root['s'+ChooseOne]] = ChooseTwo
_root['s'+O_o] = ChooseOne
Вот так т.е работает 50 на 50, но...не работает как надо...
Все вроде так просто, но все очень сложно...

Добавлено через 40 секунд
И все очень сложно, но все просто
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.


Последний раз редактировалось LanSelven; 25.09.2009 в 23:16.
Старый 25.09.2009, 23:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS1/AS2:
var flag:Boolean = false;
var choice:Number;
 
for (var i:Number = 1; i<5; i++) {
	_root['g'+i].text = _root['b'+i].text;
	_root['btn'+i].i = i;
	_root['btn'+i].onRelease = onBtnRelease;
}
 
function onBtnRelease() {
	if (flag) {
		var str:String = _root['b'+choice].text;
		_root['b'+choice].text = _root['b'+this.i].text;
		_root['b'+this.i].text = str;
	} else {
		choice = this.i;
		trace(this);
	}
	flag = !flag;
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Aug 2009
Сообщений: 101
Вся проблема в том, что g должно равняться b...
т.е при изменении b менялось и g
но при изменении b местами, g не менялось, в этом то и была задумка s
А так я тоже могу приравнять в начале b к g и просто менять b отдельно =)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 26.09.2009, 00:50
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Мда, чтобы понять, что вам нужно, потребовалось 5 часов, а все их-за того, что вместо описания цели, вы описали непонятные b и g.
Описать задачу надо было так:
Цитата:
Есть два столбика с текстовыми полями и один столбик с кнопками. При изменении текста в поле правого столбика, текст в левом также должен меняться. При нажатии двух любых кнопок, тексты полей правого столбика, напротив кнопок, должны поменяться местами, но без изменений текста в левом столбике.
Код AS1/AS2:
var flag:Boolean = false;
var choice:Number;
 
for (var i:Number = 1; i<5; i++) {
	_root['g'+i].text = _root['b'+i].text;
	_root['b'+i].onChanged = onTextChanged;
	_root['b'+i].i = i;
	_root['btn'+i].i = i;
	_root['btn'+i].onRelease = onBtnRelease;
}
function onTextChanged() {
	_root['g'+this.i].text = _root['b'+this.i].text;
}
function onBtnRelease() {
	if (flag) {
		var str:String = _root['b'+choice].text;
		_root['b'+choice].text = _root['b'+this.i].text;
		_root['b'+this.i].text = str;
	} else {
		choice = this.i;
		trace(this);
	}
	flag = !flag;
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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