Просмотр полной версии : Связывание классов
Можно ли как-то связать классы.
Тоесть, если в классе "B" стоит условие
if (x == 10),
то в определённых классах, к примеру, свойство _alpha меняется на 10 ?
Можно.
зы: у Вас условие неправильно составлено.
Описка вышла =)
А не могли бы сказать, как это можно реализовать ?
Волгоградец
07.06.2008, 16:59
Можно в классе B сделать статический метод
public static function isCondition ():Boolean {
if (x == 10){
return true;
} else {
return false;
}
}
И в каждом классе проверять:
if (B.isCondition){
mc._alpha -= 10;
}
А если мне надо, чтобы функция isCondition выдавала труе или фалсе, только после нажатии определённой клавиши.
Как это можно реализовать ?
public static function isCondition ():Boolean {
keyListener.onKeyUp = function ()
{
if(Key.Ascii == 40)
{
if (x == 10){
return true;
} else {
return false;
}
}
}
}
Выдаёт ошибку =\
Нужно isCondition вызывать по событию нажатия на клавишу, а не наоборот. Откуда по-вашему функция должна знать, какая клавиша сейчас нажата, если ее вызов никак с нажатием не связан?
KeyListener.init();
class KeyListener {
public static function init():Void {
Key.addListener(KeyListener);
}
public static function onKeyDown():Void {
trace(Key.getAscii());
}
}
А можете сказать почему постоянно выдаёт (if(B.isCondition)) - [type function], а не true или false;
class B {
public static var x:Number = null;
public static function init():Void {
Key.addListener(B);
x = 0;
}
public static function onKeyDown():Void {
if (Key.getAscii() == 49) {
isCondition();
}
}
public static function isCondition():Boolean {
if (x == 10) {
return true;
} else {
return false;
}
}
}
Fernando Costa
12.06.2008, 21:01
потому-что у вас это функция а не геттер
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.