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

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

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

Регистрация: May 2010
Сообщений: 15
По умолчанию Совместимость знаков зодиака с помощью RadioButton

Здравствуйте. Хочу создать совместимость знаков зодиака. Но мне не хватает знаний вот в какой функции, надеюсь вы мне подскажете.
Я делаю две колонки RadioButton, соответственно RadioButton в первой колонке находится в одной группе, а RadioButton второй колонки находятся во второй группе.
В каждой колонке по 12 RadioButton. Для наглядности смотрим ниже:
1Grp 2Grp
1Rb 13Rb
2Rb 14Rb
3Rb 15Rb
4Rb 16Rb
5Rb 17Rb
6Rb 18Rb
7Rb 19Rb
8Rb 20Rb
9Rb 21Rb
10Rb 22Rb
11Rb 23Rb
12Rb 24Rb

Мне нужно чтобы нужный текст предположим в TextArea появлялся только после выбора одного любого RadioButton из первой группы и одного любого RadioButton из второй группы.
Если выбрать только один RadioButton, текст в TextArea не появлялся пока не выберут по одному RadioButton из первой и второй группы.

Подскажите для примера пожалуйста код.
В итого я планирую сделать 144 комбинации:
ВЫбор 1Rb и 13Rb, 1Rb и 14Rb, 1Rb и 15Rb.....12Rb и 23Rb, 12Rb и 24Rb.

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

Регистрация: Oct 2009
Сообщений: 112
Записей в блоге: 1
ну если у нас выбрана из первого столбца i кнопка из второго j то можно этой комбинации кнопок в соответствие поставить 12i+j соответствующий текст из ваших 144. И так взаимнооднозначно отобразить

Старый 19.05.2010, 23:13
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Сделать двумерный массив 2х столбцов. А потом проверять через if включенность кнопок

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
так то комбинаций будет 78...


Последний раз редактировалось i.o.; 20.05.2010 в 01:21.
Старый 20.05.2010, 00:57
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
массив zodiacArr будет такой:
Код:
     1  2  3  4  5  6  7  8  9 10 11 12 
--+-------------------------------------
 1|  1
 2|  1  2
 3|  1  2  3
 4|  1  2  3  4
 5|  1  2  3  4  5
 6|  1  2  3  4  5  6
 7|  1  2  3  4  5  6  7
 8|  1  2  3  4  5  6  7  8
 9|  1  2  3  4  5  6  7  8  9
10|  1  2  3  4  5  6  7  8  9 10
11|  1  2  3  4  5  6  7  8  9 10 11
12|  1  2  3  4  5  6  7  8  9 10 11 12
т.е. например zodiacArr[8, 5] содержит текст совместимости, а zodiacArr[5, 8] не содержит ничего, бо повтор.

на входе имеем два значения (как их выбрали из двух списков по 12 знаков не важно) signA и signB, оба лежат в интервале [1 ... 12].

на выход выдаем:

Код AS3:
zodiacArr[Math.max(signA, signB)][Math.min(signA, signB)];
фсьо всё! / пока iNils не увидел
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 20.05.2010 в 03:28.
Старый 20.05.2010, 09:16
Molker вне форума Посмотреть профиль Отправить личное сообщение для Molker Найти все сообщения от Molker
  № 6  
Ответить с цитированием
Molker

Регистрация: May 2010
Сообщений: 15
Цитата:
Сообщение от Zebestov Посмотреть сообщение
массив zodiacArr будет такой:
Код:
     1  2  3  4  5  6  7  8  9 10 11 12 
--+-------------------------------------
 1|  1
 2|  1  2
 3|  1  2  3
 4|  1  2  3  4
 5|  1  2  3  4  5
 6|  1  2  3  4  5  6
 7|  1  2  3  4  5  6  7
 8|  1  2  3  4  5  6  7  8
 9|  1  2  3  4  5  6  7  8  9
10|  1  2  3  4  5  6  7  8  9 10
11|  1  2  3  4  5  6  7  8  9 10 11
12|  1  2  3  4  5  6  7  8  9 10 11 12
т.е. например zodiacArr[8, 5] содержит текст совместимости, а zodiacArr[5, 8] не содержит ничего, бо повтор.

на входе имеем два значения (как их выбрали из двух списков по 12 знаков не важно) signA и signB, оба лежат в интервале [1 ... 12].

на выход выдаем:

Код AS3:
zodiacArr[Math.max(signA, signB)][Math.min(signA, signB)];
фсьо всё! / пока iNils не увидел
как раз таки 5 и 8, 8 и 5 будут разными, так как первая колонка знаков с полом М вторая с Ж всего 144 комбинации.

Пожалуйста можно кодом, на словах трудно понять, я же не профи
ВСе 144 не надо конечно))) просто пакажите как, а дальше я сам.

И можно ли сделать без Button'а?

Добавлено через 28 минут
[IMG]http://s11.***********/i184/1005/22/19b52ee7a34f.jpg[/IMG]

Вот так мне нужно. Подскажите для примера код AS3 пожалуйста знающие люди.

Старый 20.05.2010, 10:07
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
package 
{
	import com.bit101.components.*;
	import flash.display.*;
	import flash.events.*;
 
 
	public class Main extends Sprite 
	{
		private var _arr1:Array/*RadioButton*/ = [];
		private var _arr2:Array/*RadioButton*/ = [];
		private var _res:TextArea;
		private var _table:Array =
		[
			["00","01","02"],
			["10","11","12"],
			["20","21","22"]
		]
 
		public function Main():void 
		{
			var i:int;
			var rb:RadioButton;
			for ( i= 0; i < 3; i++) 
			{
				rb = new RadioButton(this, 20, 20 * (i + 1), "gr1_" + i, false, onRadioButtonClick);
				rb.groupName = "gr1";
				_arr1.push(rb);
				rb = new RadioButton(this, 80, 20 * (i + 1), "gr2_" + i, false, onRadioButtonClick);
				rb.groupName = "gr2";
				_arr2.push(rb);
			}
			_res = new TextArea(this, 160, 20);
		}
 
		private function getSelectedInGroup(gr:Array/*RadioButton*/):int
		{
			for (var i:int = 0; i < gr.length; i++) 
			{
				if (gr[i].selected) return i;
			}
			return -1;
		}
 
		private function onRadioButtonClick(event:Event):void
		{
			var i:int = getSelectedInGroup(_arr1);
			var j:int = getSelectedInGroup(_arr2);
 
			_res.text = i>=0 && j>=0 ? _table[i][j] : "нужно выбрать в обоих группах";
		}
 
	}
 
}

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да можно хоть два круга со знаками, типа О-О, это уж на Ваше усмотрение)))
__________________
Reality.getBounds(this);

Старый 20.05.2010, 12:56
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 9  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Присвойте кнопкам номера (а) согласно кода
Код AS1/AS2:
var i=0
for (var f=0;f<24;f++){
	var a =Math.pow( 2,i)
	i++
	trace(a)
}
Сумма номеров двух кнопок уникальна (как впрочем и трех, и четырех...). Затем switch-ем находите нужный текст


Последний раз редактировалось Жень Шень; 20.05.2010 в 12:59.
Старый 20.05.2010, 17:57
Molker вне форума Посмотреть профиль Отправить личное сообщение для Molker Найти все сообщения от Molker
  № 10  
Ответить с цитированием
Molker

Регистрация: May 2010
Сообщений: 15
Цитата:
Сообщение от silin Посмотреть сообщение
Код AS3:
package 
{
	import com.bit101.components.*;
	import flash.display.*;
	import flash.events.*;
 
 
	public class Main extends Sprite 
	{
		private var _arr1:Array/*RadioButton*/ = [];
		private var _arr2:Array/*RadioButton*/ = [];
		private var _res:TextArea;
		private var _table:Array =
		[
			["00","01","02"],
			["10","11","12"],
			["20","21","22"]
		]
 
		public function Main():void 
		{
			var i:int;
			var rb:RadioButton;
			for ( i= 0; i < 3; i++) 
			{
				rb = new RadioButton(this, 20, 20 * (i + 1), "gr1_" + i, false, onRadioButtonClick);
				rb.groupName = "gr1";
				_arr1.push(rb);
				rb = new RadioButton(this, 80, 20 * (i + 1), "gr2_" + i, false, onRadioButtonClick);
				rb.groupName = "gr2";
				_arr2.push(rb);
			}
			_res = new TextArea(this, 160, 20);
		}
 
		private function getSelectedInGroup(gr:Array/*RadioButton*/):int
		{
			for (var i:int = 0; i < gr.length; i++) 
			{
				if (gr[i].selected) return i;
			}
			return -1;
		}
 
		private function onRadioButtonClick(event:Event):void
		{
			var i:int = getSelectedInGroup(_arr1);
			var j:int = getSelectedInGroup(_arr2);
 
			_res.text = i>=0 && j>=0 ? _table[i][j] : "нужно выбрать в обоих группах";
		}
 
	}
 
}
ругается:
line1 1180: Call to a possibly undefined method addFrameScript.
line 26 1137: Incorrect number of arguments. Expected no more than 0.
line 29 1137: Incorrect number of arguments. Expected no more than 0.
line 33 1137: Incorrect number of arguments. Expected no more than 0.
line3 1172: Definition com.bit101.components could not be found.

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

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

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


 


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


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