PDA

Просмотр полной версии : Нахождение последнего символа в имени кнопки и передача его


Flash_AS3
05.11.2013, 00:31
Нахожу последний символ в имени кнопки и передаю его в текстовое поле. Т.е при нажатии на определенную кнопку в текстовое поле передается определенный текст но передается как то криво не могу понять почему вот код:
var btnArray:Array = [but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9];

for (var i:int = 0; i < btnArray.length; i++)
{
btnArray[i].addEventListener(MouseEvent.CLICK, onClick)

}



}

private function onClick(e:MouseEvent):void
{
var num:int = e.currentTarget.name.substr(-1);
getNum(num);
}

private function getNum(num:int):void
{
//trace(num)
okno.text = num.toString()
}

samana
05.11.2013, 01:52
А эти кнопки, что в массиве, вы как создавали? Если просто, например
var but_1:MyBut=new myBut();
то свойство name у этой кнопки, совершенно не будет такое-же, как название переменной (but_1).
Имя тогда надо прописать индивидуально, для каждого объекта.
Почему бы для начала не протрейсить строку
trace(e.currentTarget.name)

Flash_AS3
05.11.2013, 01:57
вот создание кнопок var but_8:Buttons = new Buttons();
but_8.x = 210;
but_8.y = 335;
but_8.lab = "8";
addChild(but_8);

Buttons класс где кнопки рисуются

samana
05.11.2013, 02:01
Тогда просто пропишите имя для кнопки, ведь название переменной и имя(name) - это не одно и то же.
but_8.name="but_8";
Но я вижу вы добавили специально свойство lab, тогда можно и по нему проверять, а не по имени.
var num:int = e.currentTarget.lab;

Flash_AS3
05.11.2013, 02:09
Спасибо получилось я почему-то думал что название переменной и имя это одно и тоже)