Qualifiers are an invaluable tool in MMFusion. Qualifiers allow you to abstract objects in MMFusion. In others words, you can refer to set of similar yet different objects with one object. This tutorial gives an introduction into the purpose, usage, and limitations of qualifiers in MMFusion.
Qualifiers are generic objects which refer to a set of similar objects. Effectively, one qualifier can refer to 100 different objects. You can use a qualifier in an action, a condition, or an expression to refer to set of all objects assigned to the qualifier.
How can I get to the Qualifiers?
Qualifiers can be accessed by going to the "Events" tab in an Object's properties. From there, click in the "Qualifier(s)" field and click the "Edit" button.
This will bring up a dialog box, shown to the right, which will let you add qualifiers to an object
This image shows the "Object Qualifier" image. This dialogbox lets you add up to 8 qualifiers to an object. You can also click the "Help" button to get additional information about qualifiers.
Why Qualify Anything?
As mentioned before, qualifiers allow you to refer to a class or set of different objects. If any object within a frame has a qualifier, that same qualifier appears as a psuedo-object in the frame's Event Editor and Event List Editor, shown in the image below. In fact, qualifiers behave exactly like standard objects; you can use them in actions, retrieve their internal expressions, object scope with them and more!
In short, qualifiers are used to help abstract objects. With regards to MMFusion, this means qualifiers act as a container of other objects.
Qualifiers can be thought as an object which refers to a subgroup of objects. This image shows that you can use qualifiers any place other objects can be used. Additionally, qualifiers have a 'Group.' prefix before their name. This is how you can easily distinguish qualifiers from other objects. The 4 rightmost columns in the above image are qualifiers.
Situation: Example of Qualifiers in Action
Say that we have three objects that behave similarly; a Red Star, Green Star, and Blue Star. If we want each of these objects to be destroyed when the mouse clicks on the object, the set of events would look like the below image.
We need an event for each object. If we had fifty starsinstead of three stars, we would need fifty events. That would be quite time consuming and redundant. We can easily use one event for any amount of similar objects. This is done by grouping the related objects under one qualifier, conceptually shown in the image How Qualifiers Work - The Generic Star Qualifier". Remember that qualifier are psuedo-objects. This means they can be used like any other object in actions, conditions, and expressions. As such, we can use the qualifier in one event and achieve the same effect as the above image. This is shown below in conceptual form in the image "Simplification via Qualifiers" and actual form as follows.
How Qualifiers Work - The Generic Star Qualifier
Click image to view additional details
Simplification via Qualifiers
Click image to view additional details
Limitations and Difficulties with Qualifiers
Qualifiers are a powerful tool in MMFusion development. There are, however, some restrictions and limitations in using qualifiers. Below are some of these qualifiers limitations:
An object may currently be assigned up to 8 qualifiers
MMFusion provides 99 assignable qualifiers. Each object, however, has a maximum of 8 qualifiers which it can be assigned to.
Qualifiers may only be assigned during edittime
There is no way to assign a qualifier during runtime. As such, no explicit "qualifier test" condition exists.
Qualifiers may not be used in the Global Event Editors
Qualifiers may not be used in the Behavior Editors
In summary, qualifiers are psuedo-objects which reference other objects. Within the Event Editor and Event List Editor, qualifiers can be used anywhere a regular object can be used. These qualifiers are assignable only during edittime and any object can have up to 8 qualifiers within its frame. Using qualifiers reduces complexity and can easily hasten code development within MMFusion.
If you have made it this far, rate the tutorial below and check out the example in the "Downloads" section at the top of the page!
Rate This Tutorial
If you have read this tutorial, rate it from poor (1) to average (3) to great (5)!