инструкции условий, включающие координаты, Adobe Flash

#flash #actionscript-3 #if-statement #coordinates #conditional-statements

#flash #actionscript-3 #if-инструкция #координаты #условные операторы

Вопрос:

В последнее время у меня не было конца проблемам с Flash CS3. Мне действительно нужна помощь в очистке сценариев.

Я пытался создать код в actionscript, который установит функцию в true , если объект перемещается в определенную часть экрана. Запутанная вещь заключается в том, что правило применяется, когда оно находится между определенными четырьмя координатами (в данном случае, 165 и 231 в качестве координат X и 295 и 330 в качестве координат y; «honey» — это имя экземпляра символа).

В последний раз, когда я просил о помощи, мне дали этот код:

 bool IsBetweenInclusive(int value, int lower, int upper)
{
    return value >= lower 
        amp;amp; value <= upper;
}
  

Однако, когда я попытался превратить это в инструкцию условия, это не сработало. Мне действительно нужна помощь, и я буду очень признателен за помощь.

Комментарии:

1. Этот код не является ActionScript.

Ответ №1:

     /**
     * Whether a point is within a rectangular bounds.
     *
     * @param x         Point x-coordinate to be tested.
     * @param y         Point y-coordinate to be tested.
     * @param bounds    Rectangle boundary to be tested against.
     * @return          True if point is within bounds.
     */
    public static function withinBounds(x:Number, y:Number, bounds:Rectangle):Boolean
    {
        if ((x > bounds.x) amp;amp;
            (x < bounds.x   bounds.width) amp;amp;
            (y > bounds.y) amp;amp;
            (y < bounds.y   bounds.height))
            return true;

        return false;
    }
  

Ответ №2:

Вы можете использовать прямоугольник, для этого уже есть метод. Предположим, у вас есть верхняя левая точка x1,y1 и нижняя правая точка x2,y2 , а также точка, x,y которую вы хотите проверить:

 var area = new Rectangle (x1, y1, x2-x1, y2-y1);

if( area.contains(x,y) ) { /* ... */ }
  

Также есть containsRect, если вам нужно проверить, полностью ли объект находится в заданной области.