Mike at BrashMonkey's Forum Posts

  • Roccinio, Tylermon is right. Eventually you'll be able to designate a universal bounding box for Spriter objects right within Spriter...but until then the best way is definately to control a nice clean C2 rectangluar sprite and pin the spriter object to it, either with the pin behavior or with an event.

    cheers,

    Mike at BrashMonkey

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • another question!

    i am using scml files for my pick ups as well (coins,power ups etc).

    my game is starting to slow down the more coins i add(100+). the question is ,are spriter files "treated" the same way as normal sprites meaning when they are off screen they are not drawn or the computer has to calculate them even if they are off screen and thus the slowdown?

    what is the best way to use scml files performance wise ?

    No matter how optimized spriter playback (or any modular/bone animation system) becomes, I'd always opt to "bake out" animations of small items like coins(...especially where there could be hundreds in the level or on-screen...) To sequential png images and then just use normal C2 Sprites for those objects. Its not the sprite drawing that will kill your frame rate, think of all the tweening math going on, per sprite, per bone, per object.

    That asside, Like I mentioned in a previous post somewhere, we do have plans for some very nice tricks/features on the spriter side to help game makers have more choices and optimizations per animated object on the screen...but that will almost surely not happen until after the initial release of Spriter Pro 1.0

    cheers,

    Mike at BrashMonkey

  • everyone :

    I am newbie , I have a test of spriter and a capx of construct 2. But when preview I dont see anything. What did I do wrong ?

    In test, I dont have any bone for sure.

    If you have a tuttorial for that , pls show me how to use spriter and import it in construct without error. Thank you for it.

    Sorry , my english not well :"(

    Did you watch the tutorials in the tutorial section here?

    https://www.scirra.com/tutorials/827/reimporting-or-updating-a-spriter-file-in-your-construct2-project

    1) You must save out both a scml and scon of the same name from Spriter into the same Spriter project folder.

    2) both "other file actions/custom save options" options are both turned ON. before you save your scon and scml file from Spriter.

    3) Drag in only the .scml file into the canvas in C2 and the .scon should be imported as well automatically.

    4) Watch the videos carefully and copy what I do. If that fails, email me at mike AT brashmonkey.com and I'll try to help further.

    cheers,

    Mike at BrashMonkey

  • i guess if you work for hours you make the simplest of mistakes.! you are right it cant be subevent.

    thank you for the tip.will add a fade in effect but out of curiosity what is the technical reason that delays the scaling since it is the first thing that reads in the code ?

    does the 'on initialized' that appears when you import a scml file has anything to do with the above? i mean what will happen if i add the scale there?

    is this a one off or for every instance that is created during runtime?

    Edgar (Lucid) is better equipped to answer those questions. I'll point him to this thread the next time I see him online.

    cheers,

    Mike at BrashMonkey

  • lucid

    Just wanted to let you guys know how happy I am with the new Spriter and its features. If anyone wants to go Pro, I really suggest you show some love and get that Early Adopters promo. I bought it and I couldn't be happier. I have an iphone 5 , I can get 17 fairly sized spriter objects moving at 60fps on my device. Really a bargain for something that will set your games aside from the amateur builds.

    Thanks so much for the endorsement and kind words, BAnyBudde.

    e've got some cool options in mind for future releases of Spriter and the plug that should allow you to get even better performance on mobile devices. Stay tuned...

    cheers,

    Mike at BrashMonkey

  • Hi Roccinio

    About on animation end..just a guess, but maybe it must be the top most condition in the event? Does it show up if you try to ad it first thing to a new and otherwise empty event?

    For now, maybe have the Spriter objects start off screen, then move them to the proper location after the initial frame...I usually create a fade in effect in my levels, which would natually hide such things.. Of course if Edgar/Ashley can get the scale and position changes to update immediately in future updates they will..

    cheers,

    Mike at BrashMonkey

  • Hi gain PSI. Aside from the IID bug which hopefully Edgar can fix in the not to distant future, I did come up with a potential work-around for the remaining imperfection in the flame having a 1 frame delay behind the player in positional updating when the player flips...and that's to actually add the flame directly into the flame attack animation of the player1! This would guarantee it would always line up, and at least in this case, no need to repeatedly create and delete these objects.. The cool thing is you could still collision detect specifically with the flame sprites due to how Spriter is implimented in C2

    Thats the best I can do for now. As soon as Edgar gets the new test build of Spriter out I'll remind him again to see what he can do about the IID issue.

    cheers,

    Mike at BrashMonkey

  • Hey PSI, I'm making some progress finding the issues... as for the IID error, it dissappears if you remove the events that destroy the Spriter object in question! This tells me its a bug in the Spriter plug when you delete either Spriter objects in general, or perhaps one that doesn't exist in frame (meaning count-0, its already been distroyed but an event tries to destroy one of these Spriter objects that don't currently exist. )

    I've also fixed half of the flipping issue, in that if you use the same exact method (xmirror) instead of set scale etc to flip both Spriter objects (flame and player spriter objects), AND always flip both in the same events..IE, whenver you flip the player, immediately flip the flame in the same event, then they always flip properly at the same time!

    The remaining problem is the x-coordinate of the flame is still taking one extra frame to update and catch up to the apropriate position.... I've talked to Edgar about this and we'll see if either he can get rid of the 1 frame lag or if I can some up with a decent work-around for you.

    Thanks for your patience...the complexity of your project makes trouble-shooting more difficult.

    cheers,

    Mike at BrashMonkey

  • I got the error to appear in firefox. I'll keep digging regarding both issues.

    cheers,

    Mike

  • *EDIT* I just looked at your latest build and you did copy my fix exactly, yet there is indeed still a flipping issue. (though far less severe or common...) I could have sworn it was working perfectly after I had fixed it, and fear maybe that was with the previous build of the plug-in (the one that showed the (1) when you x flip something).

    I'll keep looking into this, sadly, I cant get that error message to pop up (in chrome).. I'll try firefox and see if it pops up in there.

    Did you exactly copy my fixed version as for the flame flipping? It worked perfectly on my computer. Did it not on your end?

    Thanks,

    Mike at BrashMonkey

  • Hi Psi,

    I'm looking into this now. I didn't see this error message at all when I was using the version I made when I fixed the flipping issue for the pyro attack....

    Can you please tell me what browser you're using, and does this error message ever appear if you do nothing but run around and use the pyro attack. (no other attacks.)

    thanks,

    Mike at BrashMonkey

  • Hi BAnyBudde,

    This is Mike at BrashMonkey.

    Could you email me ( mikeoxn@brashmonkey.com ) your capx and Spriter project involved so I can troubleshoot and try to get it working on my ipod?

    thanks,

    Mike at BrashMonkey

  • Juryiel,

    Could you please email maillde@brashmonkey and let me know what username you chose for the forum and I can manually activate your account.

    Thanks,

    Mike at BrashMonkey

  • Checking for collisions is vey expensive, especially if there are lots of these sprites at once. REmove the collision check and see if you still get the slow-down.

    -Mike

  • delgado,

    You can use the formula current width/image width to get an objects scale...therefore, what you'd need to do is:

    every tick:

    IF (Sprite.Width/Sprite.ImageWidth))>1 THEN set scale to? max((Sprite.Width/Sprite.ImageWidth)-0.1,1)?

    This scales the object back down to a scale of 1...the ?max? part makes sure it can't scale smaller than 1 (100 percent scale)

    Pixel perfick,

    To clarify my points: (caps are for emphasis and not intended as rudeness or yelling.)

    1) If you can set width, it stands to reason you can retrieve width..and you can. If you can set height, it stands to reason you can retrieve height...and you can. If you can set opacity, it stands to reason you can retrieve opacity...and you can. This is why retrieving scale seems missing...because you CAN set object scale but can NOT retrieve object scale (without jumping through a hoop and figuring out the formula I gave delgado above...or wasting time and variables to keep track of every sprites scale). My suggestion (?retrieve objects x scale? and ?retrieve objects y scale?) resolves this issue perfectly, in the manner that any user would expect...there would be zero confusion.

    2) ?Retrieve object X scale? and ?Retrieve object Y scale? would NOT be 2 conditions for the same thing, it would be two conditions for two separate things, which happen to be interchangeable IF the object's X and Y scale are always identical, which IS THE CASE if the user only uses the already existing feature to SET OBJECT SCALE...which many people do, and which is WHY this keeps coming up.

    3) The fact that ?it can already be done in events? has NOTHING to do with whether or not there should be a built in feature, or whether or not it seems missing based on all the other features that DO EXIST. (please realize all of the things mentioned in point 1 could be done with events, as could 90 percent or so of all the other built in features of C2)..do you concede therefore that this was a moot point?

    4) People simply want to be able to check the scale of their objects (independently of each other and having NOTHING to do with the layer any given sprite might be on) relative to the original size of that objects images and relative to the action SET OBJECT SCALE which their game is using. This has nothing to do with the layer the object is on..at least not in any way remotely related to what people are asking for.

    5) The layer sprites are on have a LOT to do with z-order, because if a sprite is on a back layer, it can never go over anything on a front layer and vice versa. This means, if you're using one or more layer specifically to control or retrieve the scale of certain sprites, then those Sprites in question are slaves to the z-order of the layer, relative to other layers and other sprites on different layers. This might impose a massive limit in Z-order control to the person making the game, as well as just being needlessly confusing.

    6) Using layers to control or retrieve the scale of sprites (especially if you have countless sprites all scaling separately, as different rates, all at once, which is highly likely) is inherently convoluted because you are using one completely different thing to control or retrieve information for another thing. This is practically the definition of ?convoluted?.

    I must say I AM confused about your suggestion of using layers In order to help end my confusion, could you please make an example file that achieves delgado's goal using the method you suggested in your one sentence solution. ?Place sprites you want to scale on a single layer, there is a compare layer scale condition..............?

    Lets say there are 10 sprites, all which have been set to separate random scales using the set scale action...please show me how to check their current scales using this layer method you speak of.

    Thanks,

    Mike