Help for solving some of the problems you might encounter with Resolutionary.
This problem is most likely caused by the resActorDetector
being the wrong size, that is, not matching the size of the original resolution of the game. For fixing the problem, see Initial configuration - step 5 on the Usage guide page.
This problem has the same cause as the previous one, so see its solution above.
This problem has two possible causes.
The first one is that you may have not modified your game to work right with Resolutionary by converting all Out of Vision events into Collision Finish events from resActorDetector
. There's an explanation on why you need to do that on the Usage guide page under Making your project Resolutionary compatible.
The other possibility is that the resActorDetector
is not correctly set up for your game. In that case, the solution is the same as for the two problems above.
This problem and its solution are explained on the Usage guide page under Making your project Resolutionary compatible.
Resolutionary has two settings for how to draw the actors that appear on screen. These settings are dynamic and static.
Actors that are set to dynamic mode, are redrawn every frame, and actors that are set to static mode, are by default drawn only when they first appear. Static actors can also be redrawn at any time by command.
Now, Resolutionary doesn't know which actors should be dynamic and which should be static, so the default setting for all actors is dynamic, as most actors have to be redrawn every frame because of movement or animation. If your game has a lot of actors on screen at a time, updating them all constantly can be quite heavy and cause preformance slowdown.
If your game has actors that don't need constant updating (static backgrounds, for example), you can set them to be static. This can be done with the function resChangeActorType();
:
resChangeActorType("Event Actor", RES_ACTOR_STATIC); // Set current actor's type to static
For example, in the example game provided with Resolutionary the jewels are made static when they stop moving, and only made dynamic again when they have to move again.
Also, your game may include actors that don't need to be drawn (hitboxes, Filled Region actors, Wire Frame Region actors, ...). But if those actors can have collision events, they get added to the list of actors to draw, and thus make the list longer and more inefficient to process. You can prevent this by setting all these actors' type to not drawable:
resChangeActorType("Event Actor", RES_ACTOR_NOT_DRAWABLE); // Set current actor's type to not drawable
Another possible cause for low performance is if your z layer ordering is inefficient. The actors are added to the lists in order by their z layer, the higher the number, the closer to the end of the list the actor will be placed, so that it will be drawn last. If you, for example, have a lot of clones being created and destroyed all the time and their z layer is high, this means that whenever a new clone spawns, Resolutionary has to travel all the way through the list to find the correct place for the actor. If this is that case, there unfortunately is not much you can do to fix it. There are plans for making Resolutionary more efficient with creating great amounts of clones.
If you can't see your actor drawn on the screen, there's usually two possible reasons why:
If you know for sure that your actor doesn't have a parent, then the issue is that the actor is getting drawn over by another actor. For solving this issue, you have to use the function resChangeActorZLayer();
:
resChangeActorZLayer("Event Actor", 1); // Set current actor's z layer to 1
For example, you can set the z layer in an actor's Create Actor event. The actors are drawn in order by their z layer, from lowest to highest. So, an actor with a z layer 1 will be drawn over an actor with z layer 0. All actors have their z layer set to 0 by default, and you need to adjust the layers so that they get drawn in the correct order.
If you can't see your actor because it is parented, all you have to do is to let Resolutionary know about that. For this, use the function resChangeActorParent();
:
resChangeActorParent("Event Actor", "parentActor"); // Set the actor 'parentActor' as the current actor's parent
If your actor is parented to another actor but Resolutionary doesn't know about that, it will assume the actor's coordinates are absolute coordinates and not relative to the parent actor, and thus draw the actor in a wrong position.
This can be solved by simply letting Resolutionary know about the parenting. For this, use the function resChangeActorParent();
:
resChangeActorParent("Event Actor", "parentActor"); // Set the actor 'parentActor' as the current actor's parent
This site uses Google code-prettify for syntax highlighting. Prettify is distributed under the Apache 2.0 License and is Copyright (C) 2011 Google Inc.