Просмотр полной версии : ChekBox true или false
подскажет кто возможно ?
как сделать chekbox програмно чтоп он был в состоянии true или false
например типа
on (release) {
scale = "ud"+random(5);
scale = true
}
LeXi42006
02.02.2007, 22:47
Может,
if(this.selected == true) {
sel = true
} else {
sel = false
}Так?
причём тут this.selected ? ) если я жму на кнопку а активироваться должен один из пяти chekbox'ов
Пользователь троян, обладатель двух предупреждений, откровенно отказывается читать правила, и названия разделов?
подскажет кто возможно ?
как сделать chekbox програмно чтоп он был в состоянии true или false
например типа
on (release) {
scale = "ud"+random(5);
scale = true
}
checkbox не может быть в состоянии true или false, могут быть свойства например selected или visible... если при нажатии на кнопку должен активироваться или деактивироваться один из checkbox`ов то как то так.
var listener:Object = new Object()
listener.click = function() {
имя_checkbox`a.visible = false (или true)
}
buttonInstance.addEventListener("click",listener)где buttonInstance -имя кнопки
Пользователь троян, обладатель двух предупреждений, откровенно отказывается читать правила, и названия разделов?
извини ...
неполучается (
создал чекбокс ud0 кнопку btn
в кадре на тайм лайн прописал
var listener:Object = new Object();
listener.click = function() {
ud0.selected = true;
};
btn.addEventListener("click", listener);
и чего непашеть (
ты можешь конкретно сказать у тебя не получается или лучше выложи исходник
куда ещё конкретнее ? ) :wacko:
создал пять чекбоксов с именами ud0 ud1 ud2 ud3 ud4
все они в состояние false тобиш без галочек
надо сделать так чтобы при нажатии на кнопку происходило чтот то типа
btn.onPress (){
tmp1 = "ud"+random(5)
tmp1.selected = true
}
ну тобиш ставилась галочка в одном из чек боксов в соответствии с тем какое имя получилось в tmp1
import mx.controls.Button;
import mx.controls.CheckBox;
var checkBoxes:Array = new Array();
var button:mx.controls.Button;
function changeCheckBoxValue(event:Object):Void
{
var maximum:Number = checkBoxes.length;
var index:Number = Math.floor(Math.random() * maximum);
var cb:CheckBox = CheckBox(checkBoxes[index]);
cb.selected = (cb.selected) ? false : true;
}
function createGUI():Void
{
for ( var i:Number = 0; i < 5; i ++)
{
checkBoxes.push(createClassObject(CheckBox, "cb" + i.toString(),
getNextHighestDepth(),
{_y: i * 23, label: "cb "+ i.toString()} ));
}
button = createClassObject(mx.controls.Button, "button",
getNextHighestDepth(),
{_y: 6 * 23, _width: 140, label: "Change ChechBox"});
button.addEventListener("click", changeCheckBoxValue);
}
createGUI();
Так?
ну типа так только их ненадо создавать програмно ) ибо мне тяжело разобраться как они создаются и как им задать нужные имена которые будет видеть пользователь и почемуто активируется по нескольку боксов одновременно когда нужно чтоп был активен только один
у меня было вот так с мувиками самодельными но они не красивые )
on (release) {
for (i=0; i<=5; i++) {
tellTarget ("ud"+i) {
gotoAndStop(1);
}
tellTarget ("bl"+i) {
gotoAndStop(1);
}
}
scale = "ud"+random(5);
tellTarget (scale) {
gotoAndStop(2);
}
scale2 = "bl"+random(5);
tellTarget (scale2) {
gotoAndStop(2);
}
}
А в чем проблема, у тебя есть чек боксы, там есть метод-переключатель состояния, снеси программное создание, и понасоздавай в ручную
telltarget устарел в 2001 году
с именами боксов я разобрался только вот непойму почему несколько боксов активируется при нажатии .. надо чтоб было активен либо один либо другой :(
Не знаю, в моем примере только один =)
вот именно в твоём примере несколько раз нажимаю на кнопку и несколько боксов активируется )
если один раз нажать то один бокс а потом ещё потом ещё если потом попадает рандом на активный бокст то он диактивируется ... а надо если один активен остальные неактивны
эээ значит я тебя не понимаю.
Можешь расписать пошагово пример, или сделать анимацию, я не понимаю что нужно в результате.
описываю есть пять боксов к примеру
я нажимаю на кнопку один из них рандомно активируется
нажимаю на кнопку ещё раз тот что был активен деактивируется и активируется рандомно другой результат при каждом нажатии на кнопку один из пяти боксов активен остальные не активны
ну вот типа должно быть понятно )
должно получится чтото типа этого
http://www.heavenlyknights.ru/gener.swf
Ясно, значит в моем методе просто нужно дописать деселект перед выбором чек бокса. ты не можешь этого сделать?
мои умения которые я пробывал не помогли )
import mx.controls.Button;
import mx.controls.CheckBox;
var checkBoxes:Array = new Array();
var button:mx.controls.Button;
function deselectAll():Void
{
for (var i:Number = 0; i < checkBoxes.length; i ++)
{
CheckBox(checkBoxes[i]).selected = false;
}
}
function changeCheckBoxValue(event:Object):Void
{
var maximum:Number = checkBoxes.length;
var index:Number;
do
{
index = Math.floor(Math.random() * maximum);
}
while( checkBoxes[index].selected )
deselectAll();
var cb:CheckBox = CheckBox(checkBoxes[index]);
cb.selected = (cb.selected) ? false : true;
}
function createGUI():Void
{
for ( var i:Number = 0; i < 5; i ++)
{
checkBoxes.push(createClassObject(CheckBox, "cb" + i.toString(),
getNextHighestDepth(),
{_y: i * 23, label: "cb "+ i.toString()} ));
}
button = createClassObject(mx.controls.Button, "button",
getNextHighestDepth(),
{_y: 6 * 23, _width: 140, label: "Change ChechBox"});
button.addEventListener("click", changeCheckBoxValue);
}
createGUI();
Моих знаний не хватает понять что у вас в исходнике, и мало вероятно я разберусь когда нибудь в вашем коде. сделал по своему.
и непойму почему когда добавляю создание боксов labelPlacement: right
название бокса получается как то толи под самим боксом толи вопще непонятно закрывается чтоли боксом
во ) вот это то что надо ))) спасибо огроменное ) буду пытаться переварить )
Хм, они по дефолту справа...
Значение должно быть строкой кстати.
а почему вот так не работает ?
var names = ["Головы, груди", "Груди, живота", "Живота, пояса", "Пояса, ног", "Ног, Головы"];
import mx.controls.Button;
import mx.controls.CheckBox;
var checkBoxes:Array = new Array();
var checkBoxes2:Array = new Array();
var button:mx.controls.Button;
var align1 = "left";
var align2 = "right";
function deselectAll():Void {
for (var i:Number = 0; i<checkBoxes.length; i++) {
CheckBox(checkBoxes[i]).selected = false;
}
}
function changeCheckBoxValue(event:Object):Void {
var maximum:Number = 5;
var index:Number;
do {
index = Math.floor(Math.random()*maximum);
} while (checkBoxes[index].selected);
deselectAll();
var cb:CheckBox = CheckBox(checkBoxes[index]);
cb.selected = (cb.selected) ? false : true;
}
function changeCheckBoxValue2(event:Object):Void {
var maximum2:Number = 5;
var index2:Number;
do {
index2 = Math.floor(Math.random()*maximum2);
} while (checkBoxes2[index2].selected);
deselectAll();
var cbb:CheckBox = CheckBox(checkBoxes2[index2]);
cbb.selected = (cbb.selected) ? false : true;
}
function createGUI():Void {
// удары
for (var i:Number = 0; i<5; i++) {
checkBoxes.push(createClassObject(CheckBox, "cb"+i.toString(), getNextHighestDepth(), {_y:i*23, _width:140, labelPlacement:align1, label:"удар "+names[i.toString()]}));
}
//блоки
for (var b:Number = 0; b<5; b++) {
checkBoxes.push(createClassObject(CheckBox, "cbb"+b.toString(), getNextHighestDepth(), {_y:b*23, _x:160, _width:140, labelPlacement:align2, label:"блок "+names[b.toString()]}));
}
button = createClassObject(mx.controls.Button, "button", getNextHighestDepth(), {_y:6*23, _x:140, _width:140, label:"Change ChechBox"});
button.addEventListener("click", changeCheckBoxValue);
button.addEventListener("click", changeCheckBoxValue2);
}
createGUI();
левая колонка боксов работает а правая колонка нет
import mx.controls.Button;
import mx.controls.CheckBox;
var names = ["Головы, груди", "Груди, живота", "Живота, пояса", "Пояса, ног", "Ног, Головы"];
var leftCheckBoxes:Array = new Array();
var rightCheckBoxes:Array = new Array();
var button:mx.controls.Button;
function deselectAll(checkBoxArray:Array):Void
{
for (var i:Number = 0; i<checkBoxArray.length; i++)
{
CheckBox(checkBoxArray[i]).selected = false;
}
}
function changeCheckBoxValue(checkBoxArray:Array):Void
{
var maximum:Number = checkBoxArray.length;
var index:Number;
do
{
index = Math.floor(Math.random()*maximum);
}
while (checkBoxArray[index].selected);
deselectAll(checkBoxArray);
var cb:CheckBox = CheckBox(checkBoxArray[index]);
cb.selected = (cb.selected) ? false : true;
}
function onButtonClick(event:Object):Void
{
changeCheckBoxValue(leftCheckBoxes);
changeCheckBoxValue(rightCheckBoxes);
}
function createCheckBoxes(x:Number, align:String,
prefix:String, labels:Array):Array
{
var result:Array = new Array();
for (var i:Number = 0; i < labels.length; i ++)
{
result.push(createClassObject(CheckBox, "cb"+i.toString(),
getNextHighestDepth(),
{_x: x, _y:i*23, _width:140, labelPlacement:align,
label:prefix + " " + names[i]}));
}
return result;
}
function createGUI():Void
{
leftCheckBoxes = createCheckBoxes(0, "right", "удар", names);
rightCheckBoxes = createCheckBoxes(150, "left", "блок", names);
button = createClassObject(mx.controls.Button, "button", getNextHighestDepth(), {_y:6*23, _x:140, _width:140, label:"Change ChechBox"});
button.addEventListener("click", onButtonClick);
}
createGUI();
Потому что пишешь такой код, в котором разобраться только под обкуркой можно
вот супер .... спасибо прибольшое :drinks:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.