Mikal's Forum Posts

  • Another example of using this nice template. I changed the template over to using JSON with keys as the source, with defaults that will change if the keys are present (the JSON is translated to the template's array on the fly for each line.) Using JSON with keys as a source makes it more readable for me, easier to directly edit the source file.

    Example of the JSON files:

  • Another better solution suggested by Buko-Studios:

    Add a transparent png which covers the required animation space in Spine, this works well with the C3 Spine plugin.

    For example, I added a semi-transparent object as an example so you can see how it works, you can change it so the object is completely transparent (using a fully transparent png.)

    Example:

    sTARKi

  • sTARKi

    I played with your animation in Spine, I have two suggestions:

    - Center your animation around the Spine origin

    - Create small, barely visible objects in Spine to create a bounding box.

    Below is an example using very visible objects (other fish) in Spine. Having them there will create larger bounds for the animation to play out in C3. In your final replace the other fish w/ small objects with a transparent image.

    Spine:

    C3:

  • Example project with atlas, json, png here:

    github.com/gritsenko/c3_spine_plugin

  • Also Playfab

    playfab.com

    There is a paid collection which includes playfab plugins (it does a _lot_ more than just cloud save.)

    constructcollection.com

    I am just a happy user.

  • Another note, now you can call alert() in worker mode in the new C3 beta release!

    construct.net/en/make-games/releases/beta/r194

    See the scripting section of the above post for how to do it (and thanks to Ashley for adding this support!)

  • This is likely because in your project 'worker' mode is enabled and alert() is not supported by a worker.

    Go to your project settings -> Advanced and deselect Use worker.

  • Sorry, a little hard to understand across Google translator. In the case of other spine animations that we tested, it works well and is centered and scaled properly with a scale setting of 1.

    Some ideas to try:

    - Adding a bounding box to your spine animation.

    - Make sure animation is centered around 0,0 in Spine.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think the scale parameter should just be adjusting the spine rendered texture, not the rendered quad size in the C3 canvas (which it seems to be doing.)

    I'll take a look at it.

    Overall, what scale is used for is to reduce the rendered image size so that it fits in the texture. So, in this case, I do expect that you will need to use a smaller scale (like 0.3), but you can then scale the size up of the Spine object to make it larger when displayed.

  • Ah, yes that's more on par (though the max worst case for 115KB binary is around 153KB for a base64 version, no higher than that.)

  • Wow, something strange is going on. If the PNG version is 4KB, the base64 version of the PNG binary (string version) should be around 6KB.

  • Thanks for the alternate method Ashley, here's what I had to do to get that to work for my example (add the data and image info, etc. before base64 string to load the sprite by URL.)

    -> SpriteDisplay: Load image from "data:image/jpeg;base64,"&BinaryData.GetBase64 (Keep current size, cross-origin anonymous)
    

    Newt, base64 is larger, but not too bad (33% bigger at most.)

  • Did a little experiment...

    Paste some sprites into a Drawing Canvas, save Drawing canvas, get blobURL, then run a little JS to convert the blob URL to base64, put that in a string and load a Sprite, seems to work (the one caveat is that the Drawing Canvas transparent regions get changed to black...

    So if you want to save a DC as a string which can be used in JSON then load that image back into a sprite, this is one way...

  • Are you trying to save an image (binary) in JSON? Usually, you will need to convert it to base64 (string representation of binary) to save to JSON. So I would look around for that.

    If you have an image to convert, you can use this:

    base64-image.de

    However, then you need to figure out how to load the base64 output into something else to display in C3, which you can easily do!

    For example, you can load it into a sprite through a URL:

    -> Sprite: Load image from "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAB+FBMVEUAAAA/mUPidDHiLi5Cn0XkNTPmeUrkdUg/m0Q0pEfcpSbwaVdKskg+lUP4zA/iLi3msSHkOjVAmETdJSjtYFE/lkPnRj3sWUs8kkLeqCVIq0fxvhXqUkbVmSjwa1n1yBLepyX1xxP0xRXqUkboST9KukpHpUbuvRrzrhF/ljbwaljuZFM4jELaoSdLtElJrUj1xxP6zwzfqSU4i0HYnydMtUlIqUfywxb60AxZqEXaoifgMCXptR9MtklHpEY2iUHWnSjvvRr70QujkC+pUC/90glMuEnlOjVMt0j70QriLS1LtEnnRj3qUUXfIidOjsxAhcZFo0bjNDH0xxNLr0dIrUdmntVTkMoyfL8jcLBRuErhJyrgKyb4zA/5zg3tYFBBmUTmQTnhMinruBzvvhnxwxZ/st+Ktt5zp9hqota2vtK6y9FemNBblc9HiMiTtMbFtsM6gcPV2r6dwroseLrMrbQrdLGdyKoobKbo3Zh+ynrgVllZulTsXE3rV0pIqUf42UVUo0JyjEHoS0HmsiHRGR/lmRz/1hjqnxjvpRWfwtOhusaz0LRGf7FEfbDVmqHXlJeW0pbXq5bec3fX0nTnzmuJuWvhoFFhm0FtrziBsjaAaDCYWC+uSi6jQS3FsSfLJiTirCOkuCG1KiG+wSC+GBvgyhTszQ64Z77KAAAARXRSTlMAIQRDLyUgCwsE6ebm5ubg2dLR0byXl4FDQzU1NDEuLSUgC+vr6urq6ubb29vb2tra2tG8vLu7u7uXl5eXgYGBgYGBLiUALabIAAABsElEQVQoz12S9VPjQBxHt8VaOA6HE+AOzv1wd7pJk5I2adpCC7RUcHd3d3fXf5PvLkxheD++z+yb7GSRlwD/+Hj/APQCZWxM5M+goF+RMbHK594v+tPoiN1uHxkt+xzt9+R9wnRTZZQpXQ0T5uP1IQxToyOAZiQu5HEpjeA4SWIoksRxNiGC1tRZJ4LNxgHgnU5nJZBDvuDdl8lzQRBsQ+s9PZt7s7Pz8wsL39/DkIfZ4xlB2Gqsq62ta9oxVlVrNZpihFRpGO9fzQw1ms0NDWZz07iGkJmIFH8xxkc3a/WWlubmFkv9AB2SEpDvKxbjidN2faseaNV3zoHXvv7wMODJdkOHAegweAfFPx4G67KluxzottCU9n8CUqXzcIQdXOytAHqXxomvykhEKN9EFutG22p//0rbNvHVxiJywa8yS2KDfV1dfbu31H8jF1RHiTKtWYeHxUvq3bn0pyjCRaiRU6aDO+gb3aEfEeVNsDgm8zzLy9egPa7Qt8TSJdwhjplk06HH43ZNJ3s91KKCHQ5x4sw1fRGYDZ0n1L4FKb9/BP5JLYxToheoFCVxz57PPS8UhhEpLBVeAAAAAElFTkSuQmCC" (Resize to image size, cross-origin anonymous)

  • We also tried to recreate the issue with the problem with a smaller project, but so far it does not fail in the same way.