Event Detect :: Hit Wall-D ( bottom )


ASTER::CONDITION::ObjectControl::Collision Detect with Wall-D (Bottom)

垂直移動時、下・仮想壁との衝突を判定。

Horizontal | Vertical | Sinewave immediate execution conditions triggered upon collision detection with virtual walls.

ASTER has introduced a mechanism called Event Detection to accurately convey the timing of events occurring within the program to CF25.

When a collision with a virtual wall is detected, the Event Detection mechanism shares the information of the instance that contacted the wall with CF25.

               
                 wall-C (Top)
                ┌────────────┐
                │            |
wall-A (Left)   |            |   wall-B (Right)
                |            |
                └────────────┘
                wall-D (Bottom)

Parameters: None

No parameters are required for input.


About Event Detection

Flip | Wrap While the motion is working, when an instance touches the virtual wall, information of the touched object instance becomes temporarily accessible from the ASTER expression.

  • X | Y (Position information of the instance that touched the wall)

  • Instance's fixed value

The fixed value of the instance is especially important because it not only allows you to know the timing of the processes occurring inside ASTER accurately but also to identify the instance.

By utilizing the fixed value, you can directly select the relevant instance. This is very useful when creating events in CF25.

However, please read the following cautions.


Operation Load

Please always consider the possibility of increased load depending on the usage conditions.

This condition imposes a load equivalent to loop execution according to the number of instances. If the number of collision detections and update frequency are high, the processing load will increase, potentially degrading the application execution performance.


Specifications and Limitations

Collision detection with virtual walls is executed at the timing of Runtime Events.

The loop process for the registered motion group is still in progress. This loop process has not been completed yet.

Regarding the deletion of registered instances or the addition of motion groups during the loop process, as a basic rule, additions or deletions to the same type of motion group cannot be performed.

For example, considering the case of "Null Motion," at Runtime Events, Null Motion only performs the Reject process, and this process is executed at the beginning of the loop process for all motion groups.

While Event Detect is executed, Null Motion can add or delete to/from all motion groups except Null Motion itself. Additions or deletions to Null Motion are not possible.

It might be difficult to understand through text, but we have prepared a sample operation. Please check the actual operation and event creation examples to understand the specifications and limitations.

Object Control: Execution Order of Loop Processing
timeline
title Time Line & Loop Stacks
    Null : Hori | Vert 
        : Sinewave
        : Orbital
        : MoveTowards
    Hori | Vert : Sinewave
        : Orbital
        : MoveTowards
        : Null
    Sinewave : Orbital
        : MoveTowards
        : Null
        : Hori | Vert
    Orbital : MoveTowards
        : Null
        : Hori | Vert
        : Sinewave
    MoveTowards : Null
        : Hori | Vert
        : Sinewave
        : Orbital