Spriter/C2 - (9-16-2019 - bug fix)

From the Asset Store
Rotate & Animation for 16 Direction & Mouse Direction
  • Thanks We're going to make it eventually require only the scon file for the C2 plugin.

    You can set the entity and animation for each instance using the 'set entity' action, or the 'starting entity' in the object's property pane.

  • Thanks We're going to make it eventually require only the scon file for the C2 plugin.

    You can set the entity and animation for each instance using the 'set entity' action, or the 'starting entity' in the object's property pane.

    Ah, the property pane might just do the trick for now. Thanks.

    Do you have any advice though on picking and working with the spriter object though?

    It seems like a difficult object to work with when multiple entities and instances are involved.

    I also noticed it does not seem possible to pick a spriter object based on entity. Which adds to the complications. Hopefully I am just overthinking this or overlooking something obvious. It just seems a spriter project with multiple entities and animations is nice to work in and animate in spriter. It seems near impossible to work with once in C2 though.

  • Hi You could compare using the 'entityname' property, but to make things easier I updated the plugin with a Compare Entity condition:

    8/18/2015

    • Added "Compare Entity" condition to check what the currently set entity is.
  • Hi You could compare using the 'entityname' property, but to make things easier I updated the plugin with a Compare Entity condition:

    8/18/2015

    • Added "Compare Entity" condition to check what the currently set entity is.

    Hopefully that should help. Thank you for such quick support!

    I'm not at my computer right now, but does the new compare entity support picking objects/instances.

    I believe constructs regular compare values condition didn't allow object/instance picking so I was at a loss.

    Otherwise I'm stuck with a for each loop which isn't very efficient.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Tylermon, Yes, it picks based on comparison.

    You won't need it for entities anymore, but for future reference, the system condition 'Pick by comparison' would have also worked :

    There's also a few other System conditions under 'Pick instances' that can come in handy for the rare cases when a plugin or behavior doesn't directly support what you need.

  • Just a friendly reminder to folks using spriter as I am in construct 2.

    Don't use spriter for everything, it's a cpu hog.

    Use it as a way to quickly customize main sprites (characters) and definitely not for background and landscaping.

    I thought using spriter as a way to quickly change tiles on the fly is a great idea until my system lag like a turtle due to huge CPU consumption due massive amount of objects on screen since each spriter object is a container containing ALL options in it.

    Then consider the fact that I use 32x16 tiles to fill an 960x540 screen. IIRC, 10000 objects was created.

    Learn from my mistake and save your time.

  • Sadly I concur, I have two simple characters per level and when they're both on screen at once there is a noticeable fps hit on slower devices I didn't get with sprite sheets.

    I wonder if it's possible to not have the animations update every tick??

    Overall I do love spriter/C2 integration

  • Sethmaster and

    It is true the current plugin is not well suited to creating full tilemaps, though of course it could definitely be used to create individual moving background elements. There are a couple of things you can do in other game scenarios to aid with lightening the cpu load. One is to separate your characters to separate files - If you have several characters in the same file, then all of those parts for all the characters will be loaded for each instance of your scml object. Keeping each character in its own file will keep the object creation to a minimum. Another way is to use the 'Set Automatic Pausing' action. This let's you choose a pixel padding to create a box around the x,y location of the scml object where it will pause animation playback if that box goes off screen. This will have a big impact if the majority of your animated objects are off screen most of the time. If you have trouble getting it working, let me know and I will explain it in more detail, but basically you use the action once on each instance, rather than every tick.

    Lastly, I'm a bit behind on a few ETAs at the moment, so I won't venture a guess as to exactly when, but I plan to eventually make the plugin so you have the option to use separate objects for each part (as it does now), or one object that does all the painting itself. This would give you the option to tradeoff the ability to access individual parts as C2 objects or the reduced overhead of a single object.

  • Thanks for the reply lucid, the single object processing certainly sounds interesting

    My (probably naive) thinking was the animations could be processed every, say, 5 frames and trade-off smoothness for speed (as an option).

  • Just checking in to ask about in-game animation manipulation - being able to have character point their arm at the mouse x/y would be amazing.

    Any news?

  • Unfortunately we're still backed up and behind schedule for the generic reference implementation, and until that's finished Edgar can't really do anything more than simple bug fixes for the current version of the Spriter Plug-in.

    You can keep track of the progress on the reference implementation here: http://brashmonkey.com/forum/index.php? ... e-9202015/

    cheers.

    -Mike at BrashMonkey

  • elliot, that type of thing will eventually be in there. As Mike said, though, I'm a bit behind on a few things, so I don't want to venture a guess of when that will be possible just yet.

    9/22/2015

    • Fixed a bug where in certain situations animated variables would return the incorrect value.
  • I am working on a way to get my Spriter characters Eyes to rotate based on the Mouse location.

    The way I've done it is I've created 2 action points in Spriter over the eyes and spawned non-spriter "Eye" objects in both of the action points. Then I've pinned the 2 Eye objects onto the character in the location of the action points.

    The issue: it seems like the position of the Eyes lags a bit behind the characters movements.. (the position doesn't stay locked as the player moves) in addition to that the Z-Order seems to be an issue, as I can only place the Eyes above the entire character, or below the entire character (the Eyes need to be in-between - behind the helmet but above the face)... so I was wondering if there was a better way?

    Also I am not sure if this is an issue with Spriter or not but adjusting the Z-Order of any non-spriter objects in-between my Spriter objects "sub-"objects doesn't seem to work.

    Any help is always appreciated. Thanks.

  • I'm a bit behind - what is the reference implementation?

    Love the work by the way, Spriter is next to C2 in terms of value for money.

  • Hi Badmircale,

    I assume you're using "every tick" to set the object to the points in the Spriter object? If you are and there's a lag, the only other thing I can think of trying is to actually go in and add points to the frames for the C2 sprites that the Spriter object uses for the eyes, then try using an "every tick" event and see if that works any better.

    As far as C2 is concerned Z-order wise, each Spriter object, (even though they are made of separate C2 sprites), count as one object... so at least at the moment there's no way to force other objects in between sprites used in a Spriter object.

    The only solution for the Z-order issue is to actually use 2 Spriter objects, one for the sprites that appear below the C2 sprites you want in the middle and another Spriter object for the sprites that go above them in z-order... so you'd have one spriter object for the backmost in z-order, then your C2 sprites, then the top Spriter object... all synchronized animation and position wise... it would be a bit of a pain, but would theoretically work.

    cheers.

    -Mike at BrashMonkey

    The issue: it seems like the position of the Eyes lags a bit behind the characters movements.. (the position doesn't stay locked as the player moves) in addition to that the Z-Order seems to be an issue, as I can only place the Eyes above the entire character, or below the entire character (the Eyes need to be in-between - behind the helmet but above the face)... so I was wondering if there was a better way?

    Also I am not sure if this is an issue with Spriter or not but adjusting the Z-Order of any non-spriter objects in-between my Spriter objects "sub-"objects doesn't seem to work.

    Any help is always appreciated. Thanks.

Jump to:
Active Users
There are 7 visitors browsing this topic (0 users and 7 guests)