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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

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

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию Вопрос по компоненту Check Box...

Смотрю в русском хэлпе про Check Box, там написано, цитирую:
"SomeName.getValue() -- Возвращает true, если флажок установлен и false, если нет."

я поставил чекбокс и текстовое поле (динамическое)
чекбокс -- chk_test
переменная текстового поля -- tf_test

код следующий:
tf_test=chk_test.getValue();

в текстовом поле пишет undefine

если делаю:
tf_test=chk_test.selected
то всё работает! в текстовое поле вносится true или false.
IMHO первое выражение должно давать те же результаты...или нет? Расскажите пожалуйсто!
__________________
Брат моего брата - это я! :-)

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

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
_root.createEmptyMovieClip("CheckBoxes",1);
_root.CheckBoxes.size=30;
_root.cCheckBox=function(name,depth,x,y){
_root.CheckBoxes.createEmptyMovieClip(name,depth);
_root.CheckBoxes[name].lineStyle(1,0x000000,100);
_root.CheckBoxes[name].beginFill(0xffffff,100);
_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,0);
_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,_root.CheckBoxes.size);
_root.CheckBoxes[name].lineTo(0,_root.CheckBoxes.size);
_root.CheckBoxes[name].lineTo(0,0);
_root.CheckBoxes[name].tick=0;
_root.CheckBoxes[name]._x=x
_root.CheckBoxes[name]._y=y
_root.CheckBoxes[name].onEnterFrame=function(){
if(hitTest(_root._xmouse,_root._ymouse,true)){
if(this.tick==0){
this.createEmptyMovieClip("tick",1);
this.tick.lineStyle(1,0x000000,100);
this.tick.moveTo(_root.CheckBoxes.size/5,_root.CheckBoxes.size/5);
this.tick.lineTo((_root.CheckBoxes.size/5)*2.5,(_root.CheckBoxes.size/5)*4);
this.tick.lineTo((_root.CheckBoxes.size/5)*4,_root.CheckBoxes.size/5);
this.tick=1;
}
else{
this.tick.removeMovieClip();
this.tick=0;
}
}
}
}
_root.cCheckBox("test",1,100,100);
_root.onEnterFrame=function(){
trace(_root.CheckBoxes.test.tick);
}
//usnul production (c) 2004
--------------------------


nu kak vam takoe?
__________________
I'm only happy when it rains.
Waka Laka

Старый 23.01.2004, 16:20
brat вне форума Посмотреть профиль Отправить личное сообщение для brat Найти все сообщения от brat
  № 3  
brat

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию всё суппер, а попроще :-)

По вопросу можно было судить о моих "глубоких" познаниях во флэше .

Я хотел разобраться почему у меня не получаеться в одном случае и получаеся (что не может не радовать ) в другом.

В твоем коде я много не понимаю с первого взгляда, но догадываюсь, что ты делаешь ЧекБокс самостоятельно, а не берёшь готовый. В качестве урока для себя, посижу, поразбераюсь!

А на мой вопрос кто-нить ответить может? Желательно подоступнее
__________________
Брат моего брата - это я! :-)

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

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
Код:
_root.createEmptyMovieClip("CheckBoxes",1);
_root.CheckBoxes.size=20;
_root.cCheckBox=function(name,depth,x,y){
	_root.CheckBoxes.createEmptyMovieClip(name,depth);
	_root.CheckBoxes[name].lineStyle(1,0x000000,100);
	_root.CheckBoxes[name].beginFill(0xffffff,100);
	_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,0);
	_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,_root.CheckBoxes.size);
	_root.CheckBoxes[name].lineTo(0,_root.CheckBoxes.size);
	_root.CheckBoxes[name].lineTo(0,0);
	_root.CheckBoxes[name].tick=0;
	_root.CheckBoxes[name].Check=1;
	_root.CheckBoxes[name]._x=x;
	_root.CheckBoxes[name]._y=y;
	_root.CheckBoxes[name].onMouseDown=function(){
		if(hitTest(_root._xmouse,_root._ymouse,true) and this.Check==1){
			if(this.tick==0){
				this.createEmptyMovieClip("tickClip",1);
				this.tickClip.lineStyle(1,0x000000,100);
				this.tickClip.moveTo(_root.CheckBoxes.size/5,_root.CheckBoxes.size/2);
				this.tickClip.lineTo((_root.CheckBoxes.size/5)*2.5,(_root.CheckBoxes.size/5)*4);
				this.tickClip.lineTo((_root.CheckBoxes.size/5)*4,_root.CheckBoxes.size/5);
				this.tick=1;
			}
			else{
				this.tickClip.removeMovieClip();
				this.tick=0;
			}
			this.Check=0;
		}
	}
	_root.CheckBoxes[name].onMouseUp=function(){
		this.Check=1;
	}
}
_root.cCheckBox("test",1,100,100);
_root.onEnterFrame=function(){
	trace(_root.CheckBoxes.test.tick);
}
//usnul production (c) 2004
вот этот код точно работает, а то в школе писал, проверить не мог.
короче давай по шагам.

_root.createEmptyMovieClip("CheckBoxes",1);
_root. Обозначение для первого кадра основной сцены, может быть написано еще как:
tellTarget(_root){};
createEmptyMovieclip(“CheckBoxes”,1); где первая часть “createEmptyMovieClip” значится для создания нового пустого «мувика» (объекта), а работает эта функция по следующему принципу:
адрес.createEmptyMovieclip(“имя для нового мувика”,глубина нового мувика);

«адрес» это то место где мы хотим создать наш новый клип, имя может быть выбрано любое, но с несколькими ограничениями, самым главным из которых является то, что имя не может начинаться ни с чего другого кроме как буквы, ни цифр, ни значков, ничего только буквы. Дальше, глубину это «как бы» третье измерение во флэше, то есть работает по принципу слоев, то есть «мувики» накладываются друг на друга в таком порядке, что сверху те у которых глубина «меньше».

И так, “_root.createEmptyMovieClip(“CheckBoxes”,1);” означает:
Создать новый «мувик» с именем «CheckBoxes» на глубине 1.
-----------------------------------------------------------
_root.cCheckBox=function(name,depth,x,y){}; создадим функцию для простоты использования.
_root. Это как мы уже знаем обращение к первому кадру главной сцены, значит там и создадим нашу функцию, а назовем мы ее «cCheckBox», -почему? Да просто так, можно назвать Машей, Пашей или хоть тузиком  лишь бы это было написано латинскими символами (Английскими буквами), я дал имя соответственно назначению, а оно заключается в создание чек бокса, так что «с» от “create” (создать), и “CheckBox” дают нам “cCheckBox”, пойдет?
Теперь чтобы наша функция вела себя как функция, на нужно прировнять ее к функции, что и делаем:
_root.cCheckBox=function(){};
в круглых скобках можно задавать входные данные, а в фигурных находится «тело» функции, то есть то что она выполняет. Начнем со входных данных, но для этого давайте определимся, что же нам все таки нужно от этой функции? –делать чек бокс! Но не все так просто, еще хотелось бы создавать его не просто где попало, а там где нам это угодно. Флэш это двухмерный (два измерения) векторный редактор, то есть мы имеем «х» и «у», еще у нас есть псевдо «глубина» - слои, так что это три переменных:
x, y и depth (глубина)
Ещё хотелось бы иметь возможность давать этим чек боксам разные имена, ну например если мы захотим потом сделать анкету, один бокс назовём «возраст», другой «пол» и т.д. удобно? – я говорю, да! 
И того у нас четыре переменных: x, y, depth(глубина), name(имя). Все входные переменные указываются через запятую, вот так:
function(переменная один, переменная два, переменная N);
попробуем добавить:
_root.cCheckBox=function(name, depth, x, y){};
--------------------------------------------------------------
_root.cCheckBox=function(name,depth,x,y){
_root.CheckBoxes.createEmptyMovieClip(name,depth);
_root.CheckBoxes[name].lineStyle(1,0x000000,100);
_root.CheckBoxes[name].beginFill(0xffffff,100);
_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,0);
_root.CheckBoxes[name].lineTo(_root.CheckBoxes.size,_root.CheckBoxes.size);
_root.CheckBoxes[name].lineTo(0,_root.CheckBoxes.size);
_root.CheckBoxes[name].lineTo(0,0);
_root.CheckBoxes[name].tick=0;
_root.CheckBoxes[name].Check=1;
_root.CheckBoxes[name]._x=x;
_root.CheckBoxes[name]._y=y;
_root.CheckBoxes[name].onMouseDown=function(){
if(hitTest(_root._xmouse,_root._ymouse,true) and this.Check==1){
if(this.tick==0){
this.createEmptyMovieClip("tickClip",1);
this.tickClip.lineStyle(1,0x000000,100);
this.tickClip.moveTo(_root.CheckBoxes.size/5,_root.CheckBoxes.size/2);
this.tickClip.lineTo((_root.CheckBoxes.size/5)*2.5,(_root.CheckBoxes.size/5)*4);
this.tickClip.lineTo((_root.CheckBoxes.size/5)*4,_root.CheckBoxes.size/5);
this.tick=1;
}
else{
this.tickClip.removeMovieClip();
this.tick=0;
}
this.Check=0;
}
}
_root.CheckBoxes[name].onMouseUp=function(){
this.Check=1;
}
}
Давайте вплотную посмотрим как работает наша функция.
_root.CheckBoxes.createEmptyMovieClip(name,depth); - первая строчка «тела» функции, что-нибудь знакомо?
_root. – главный кадр (!запомните!)
_root.CheckBoxes. – ранее созданный нами “CheckBoxes” мувик. Который находится в _root.
_root.CheckBoxes.createEmptyMovieClip(name,depth) – создаем клип с именем равным значению входной переменной “name” нашей функции, и на глубине “depth” полученной так же из набора входных переменных функции.
Далее:
------------------------------------------------------
_root.CheckBoxes[name].lineStyle(1,0x000000,100);
_root.CheckBoxes[name]. –Ага! Это интересный кусок, он служит адресом к только что нами созданному клипу с именем «name» - но как же так, что же означаю эти квадратные скобки!? - дело в том что эти скобки со строчной переменной внутри них распознаются флэшем как имя объекта со значением равным значению строчной переменной, например _root.movieone.movie2 может быть записано с следующих формах, которые по сути равны:
1) _root[“movieone”][“movie2”]
2) _root[“movieone”][“movie”+2]
3)
a=”movieone”;
b=”movie”+2;
_root[a][b]
ну и все производные отсюда.
И еще одна заметка по поводу этих скобок, если мы использует такое «динамическое» (в квадратных скобках) имя, то перед ним точки ставить не нужно, ибо скобки служат разделителем.
Адрес.lineStyle(1,0x000000,100);
Тут можно диссертацию писать на тему программного рисования во флэше, ибо представленная выше функция является одно из этих полезных функций, но вкратце функция объявляет, что мы начинаем рассовать линии, у данной функции есть три входных переменных:
Line thickness (толщина линии), line colour (цвет линии) and line alpha (коофициэнт альфа эффекта – проще говоря прозрачность).
Из сказанного выше следует что «_root.CheckBoxes[name].lineStyle(1,0x000000,100);» объявляет о начале рисования не прозрачных линий черного цвета с толщиной в единицу, в мувике «_root.CheckBoxes[name]».
---------------------------------------------------------
_root.CheckBoxes[name].beginFill(0xffffff,100);
«_root.CheckBoxes[name].» – мувик.
“beginFill(0xffffff,100);” – функция программного рисования, которая объявляет о начале заливки, пишется так:
адрес.beginFill(цвет, прозначность);
__________________
I'm only happy when it rains.
Waka Laka

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

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
елси интересно могу продолжить потом, щас врямя нет

ЗЫ
если твои знания выше той терминалогии что я использовал, то ты только свисни.
__________________
I'm only happy when it rains.
Waka Laka

Старый 23.01.2004, 22:40
brat вне форума Посмотреть профиль Отправить личное сообщение для brat Найти все сообщения от brat
  № 6  
brat

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию про знания... :)

ну на самом деле они не такие уж совсем низкие...
про _root, создание клипа, _root.CheckBoxes[name]...
тоже известно...

Вот с функциями хреново! если не сказать хуже! надо тренироваться по ним, а то само слово Функция уже вызывает страх :-(



Мне интересно, продолжай... как время будет.
Ты на 5 или МХ пишешь?

просто с Чекбоксами более менее понятно, а с другими компонентами: комбобоксами, листбоксами ситуация посложнее будет...

В МХе эти компоненты существуют, значит с ними можно работать. А раз можно с ними работать, то надо учиться с ними работать.
__________________
Брат моего брата - это я! :-)

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

Регистрация: Dec 2003
Адрес: Харьков
Сообщений: 64
Отправить сообщение для jazzy_net с помощью ICQ
По умолчанию Re: Вопрос по компоненту Check Box...

Цитата:
Оригинал написал(а) brat
Смотрю в русском хэлпе про Check Box, там написано, цитирую:
"SomeName.getValue() -- Возвращает true, если флажок установлен и false, если нет."
можно уточнить, хелп к какому флэшу? судя по тому что это раздел "Action script 2.0" то к мх2004? я там не вижу метода getValue() у компонента CheckBox...

зы: и ещё я немного не понял какое отношение к заданному вопросу имеет подробное описание создания самодельного подобия чекбокса... =)

Старый 24.01.2004, 01:04
brat вне форума Посмотреть профиль Отправить личное сообщение для brat Найти все сообщения от brat
  № 8  
brat

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию странно...

а что тогда это за компонент?
-------------------------------------------------------------------------------
Сводная таблица методов компонента FCheckBox

Метод
Описание

FCheckBox.getEnabled
Возвращает true, если кнопка доступна и false, если недоступна.

FCheckBox.getLabel
Возвращает в виде строки надпись, относящуюся к кнопке.

FCheckBox.getValue
Возвращает true, если флажок установлен и false, если нет.

FCheckBox.registerSkinElement
Регистрирует элемент внешнего вида кнопки (скин-элемент) для свойства стиля.

FCheckBox.setChangeHandler
Определяет функцию-обработчик, вызываемую всякий раз, когда состояние кнопки было изменено.

FCheckBox.setEnabled
Определяет, будет ли флажок доступен.

FCheckBox.setLabel
Меняет надпись кнопки во время выполнения клипа.

FCheckBox.setLabelPlacement
Определяет, справа или слева от кнопки будет находиться надпись.

FCheckBox.setSize
Устанавливает в пикселах ширину кнопки.

FCheckBox.setStyleProperty
Задает одно свойство стиля экземпляра компонента.

FCheckBox.setValue
Устанавливает и сбрасывает флажок, вызывая функцию-обработчик.
-------------------------------------------------------------------------------
__________________
Брат моего брата - это я! :-)

Старый 24.01.2004, 01:14
brat вне форума Посмотреть профиль Отправить личное сообщение для brat Найти все сообщения от brat
  № 9  
brat

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию странно...

а что тогда это за компонент?
-------------------------------------------------------------------------------
Сводная таблица методов компонента FCheckBox

Метод
Описание

FCheckBox.getEnabled
Возвращает true, если кнопка доступна и false, если недоступна.

FCheckBox.getLabel
Возвращает в виде строки надпись, относящуюся к кнопке.

FCheckBox.getValue
Возвращает true, если флажок установлен и false, если нет.

FCheckBox.registerSkinElement
Регистрирует элемент внешнего вида кнопки (скин-элемент) для свойства стиля.

FCheckBox.setChangeHandler
Определяет функцию-обработчик, вызываемую всякий раз, когда состояние кнопки было изменено.

FCheckBox.setEnabled
Определяет, будет ли флажок доступен.

FCheckBox.setLabel
Меняет надпись кнопки во время выполнения клипа.

FCheckBox.setLabelPlacement
Определяет, справа или слева от кнопки будет находиться надпись.

FCheckBox.setSize
Устанавливает в пикселах ширину кнопки.

FCheckBox.setStyleProperty
Задает одно свойство стиля экземпляра компонента.

FCheckBox.setValue
Устанавливает и сбрасывает флажок, вызывая функцию-обработчик.
-------------------------------------------------------------------------------
__________________
Брат моего брата - это я! :-)

Старый 24.01.2004, 01:16
brat вне форума Посмотреть профиль Отправить личное сообщение для brat Найти все сообщения от brat
  № 10  
brat

Регистрация: Aug 2001
Адрес: Kharkov
Сообщений: 42
Отправить сообщение для brat с помощью ICQ
По умолчанию сорри!

инет подвисал, получилось 2 раза
__________________
Брат моего брата - это я! :-)

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

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

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


 


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


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