An entity on itself (or its clone) will not be able to catch an event, unless it has a script component with script that listens for that event attached to it. If your clones have a script attached, then it is fine to send an event that they can listen upon, e.g.
this.app.fire('action', myData, someOtherData, etc);
Instead of many attributes, you can also pass a single object, as an attribute to the event, like:
var data = {
key: 'clone1',
type: 'jump',
group: 'blue'
};
this.app.fire('action', data);
Then all your clones would listen for event "action"
and act, based on the arguments you pass.
Clone.prototype.initialize = function() {
this.key = 'clone1';
this.app.on('action', this.onAction, this);
};
Clone.prototype.onAction = function(arg1, arg2, arg3, etc) {
// arg1.key === 'clone1'
if (arg1.key === this.key) {
// do something
}
};
The idea is that you send an event, that all clones will hear, but only selected ones or even a single one would act upon. You would need to somehow differentiate cloned entities, by giving them a unique ID, or adding a unique tag, color or name, etc.
Edit:
Another option would be that you would have a single entity, which knows about all the clones out there in your scene. That entity would be the only listener for the event, and would be the only one that has a script. When it catches the event, it would read from that event which clone it is addressed to and then would simply do something with that clone, like move it, hide, scale, and so on. Clones would be simple entities without scripts then.