动作脚本 3 |带开关的 hitTestObject

ActionScript 3 | hitTestObject with switch

是否可以使用 switch 检查 hitTestObject 的状态?

我这样试过:

function choosenArea(): void {
    switch mc_wheel.pointer.hitTestObject {
        case mc_wheel.circle.part_cyan:
            trace('cyan');
            break;

        case mc_wheel.circle.part_blue:
            trace('green');
            break;

        case mc_wheel.circle.part_blue:
            trace('blue');
            break;

        case mc_wheel.circle.part_purple:
            trace('purple');
            break;
    }
}

hittest 没有状态 这是一个 returns something

的函数

了解一种语言的语法是使用它的基本必要条件。 您对括号的使用似乎无处不在。

要调用对象的函数,请使用这些括号:( )

示例:

mc_wheel.pointer.hitTestObject(mc_wheel.circle.part_cyan);

如果你想知道其他参数的return值,你必须再次调用该函数:

mc_wheel.pointer.hitTestObject(mc_wheel.circle.part_blue);

没有办法解决这个问题。如果您有许多对象作为参数传递,您将合并一个数据结构来保存它们。数组可以是这样的数据结构:

var parts:Array = [mc_wheel.circle.part_cyan, mc_wheel.circle.part_blue/*, and so on ...*/]; 

然后用for循环迭代将每个元素传递给函数:

for each (part in parts)
{
        mc_wheel.pointer.hitTestObject(part);
}

这是一个通用策略: 首先让它与一个对象一起工作。 如果你想对许多这样的对象进行处理,将它们全部放入一个数组中,然后像对待单个对象一样处理每个元素。